Я работаю над обновлением карты d3. js с v3 до v5 и сталкиваюсь с проблемами с моим оператором forEach
. Первоначально в версии v3 у меня была функция, которая создает словарь из моих данных CSV. Данные CSV имеют столбцы: id , кейсы и город . Моя функция была настроена так:
var promises = [
d3.json("testdata/us.json"),
d3.csv("testdata/county_dates.csv", function(d){
cases.set(d.id, +d.cases);
})
]
Promise.all(promises).then(ready)
function ready(error, us, data) {
var pairCaseWithId = {};
var pairNameWithId = {};
data.forEach(function(d) {
pairCaseWithId[d.id] = +d.cases;
pairNameWithId[d.id] = d.city;
});
Я сейчас обновляю код для использования d3 v5, который использует обещания, с которыми я не знаком. Как мне обновить строку forEach
до promises.all? Я пробовал что-то вроде этого:
data.then(function (result){
return Promise.all(result.map(function(d){
pairCaseWithId[d.id] = +d.cases;
pairNameWithId[d.id] = d.city;
}))
}