Я пытался хранить данные из асинхронного вызова в переменную/объект/массив вне функции. Я видел пару решений, которые делают синхронные вызовы, используя обратные вызовы и т. Д., Но ни один из них не работает для моего сценария. Это то, что я пытаюсь сделатьКак сохранить данные из асинхронных вызовов d3 в функции document.ready передать его функции
var x = [];
d3.json(url, response){
if(response{
setInterval(funtion(){
d3.json(url, response){
x=response;
});
},5000);
}
}
$(document).ready(function(){
console.log(x);
$.each(x, function(i,val){
function(val);
});
});
Это серьезное состояние гонки и вы не должны структурировать свой код, как это. Вы должны отказаться от 'document.ready' и просто поместить свой код в конец справа до конца тега body. Затем переместите вашу обработку на 'x' в функцию обратного вызова' d3.json' (которая, кстати, не похожа на действительный код выше). – Mark
@Mark Я использовал функцию обратного вызова и попытался использовать функцию x внутри функции d3.json. Я пытаюсь хранить данные из api постоянно после каждых 5 секунд, то как я могу это достичь? – hhhh4