0
我試圖將異步調用中的數據存儲到函數外的變量/對象/數組中。我已經看到了幾個解決方案,使呼叫同步,使用回調等,但沒有一個適用於我的情況。這就是我要做的如何在document.ready函數中訪問d3異步調用中存儲的數據以將其傳遞給函數
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',並且只需在正文標籤結束之前將代碼放在最後。然後將'x'上的處理移動到'd3.json'回調函數中(順便說一下,這看起來不像上面的有效代碼)。 – Mark
@Mark我使用了一個回調函數,並嘗試讓我的x在d3.json函數內。我試圖在每隔5秒後不斷地存儲api的數據,那我該如何實現呢? – hhhh4