Следующий фрагмент - это мой код, который будет извлекать данные из файла csv.
d3.queue()
.defer(d3.csv, "sales.csv", function(d){
//d.decade = d.decade.replace("-","_")
//console.info('lalala')
})
.await(ready)
И тогда это функция, которая создаст пузырь.
function ready(error,datapoints){
console.info(datapoints)
var circles = svg.selectAll(".artist")
.data(datapoints)
.enter().append("circle")
.attr("class","artist")// the ".artist" will transform into class name in HTML
.attr("r", function(d){
return radiusScale(d.sales)
})
.attr("fill","lightblue")
.on("click",function(d){
console.info(d)
})
//.attr("cx",100)
//.attr("cy",300)
simulation.nodes(datapoints)
.on('tick', ticked)
function ticked(){
circles
.attr("cx",function(d){
return d.x
})
.attr("cy", function(d){
return d.y
})
}
}
Проблема возникает, когда я делаю console.info (набор данных). Когда бы у меня ни было:
function(d){
d.decade = d.decade.replace("-","_")
}
в моем
.defer(d3.csv, "sales.csv", function(d){
d.decade = d.decade.replace("-","_")
})
результат в console.info (точки данных) будет примерно таким: weird_result
И если я удалю
function(d){
d.decade = d.decade.replace("-","_")
}
и становится:
defer(d3.csv, "sales.csv")
Результат был бы таким нормальным: normal_result
Может кто-нибудь объяснить мне, почему это так? И как в этом случае сделать остановку данных?
Спасибо чувак! Это ОЧЕНЬ помогает !!! : D



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Добавьте return d; в конце функции!
нужно вернуть что-то из функции-строки, добавить
return d;