我試圖將幾個大的JSON文件(即在"url1"
和"url2"
和〜1MB大小)的內容推送到一個數組(即results
)。我曾嘗試過使用jQuery $.get()
和$.ajax()
的幾個變體,但是,即使xhttp成功,它也會返回所請求頁面的一個片段或根本沒有任何內容。
var urls = ["url1", "url2"];
function getData(urls) {
var results = [];
for (var i = 0; i < urls.length; i++) {
$.get(urls[i], function(data) {
results.push(data);
});
}
var listen = setInterval(function() { // write results to console when done
if (urls.length == results.length) {
clearInterval(listen);
console.log(results);
}
}, 1000);
}
是否有一個「正確」的方式,我應該與大文件的工作,或者是有些事情根本錯了我的做法?
你並不需要你'listen'功能,只需()'直接添加一個'的console.log到'GET'成功的回調函數。 –
@ScottMarcus,但我只想在檢索完所有文件後繼續使用我的管道(在這種情況下也稱爲console.log())。 – Wagtail
「get」的回調函數只有在返回結果時纔會運行。它已經是異步的了。您可以直接在回調中檢查結果數組。 –