Я пытаюсь не копировать код и не перебирать функцию a в асинхронном режиме d3. Вот кодАсинхронная функция в итерации - javascript
Поскольку d3.text является асинхронным, я не могу правильно использовать индекс u
для добавления объектов в DOM. Как мне это сделать? Мне нужен цикл, чтобы перейти к следующей итерации однажды d3.text закончил
for(var u in urls) {
console.log(u);
var url = "interest_points/" + urls[u] + ".csv";
var data_gpBy_month = {};
var sortable_month = []
d3.text(url, function(text) {
// some code...
var data = d3.csv.parseRows(text).map(function(row) {
//some code...
});
//some code
});
}
Почему бы не захватить значение и в анонимной функции , затем передать захваченное значение в качестве параметра во внутреннюю функцию? То есть, захватите индекс var на внешнем закрытии и передайте его чисто на внутреннее закрытие? –
Да, это похоже на то, что @DavidW предлагает правильный подход (в отличие от любого из нижеприведенных ответов), предполагая, что проблема заключается в том, что к моменту завершения обратного вызова 'u' получает свое значение с самого последнего итерации цикла. – meetamit
Мои навыки работы с Javascript ограничены, поэтому, если вы покажете мне, как это сделать, я бы очень признателен. @meetamit да, это то, что происходит –