我试图将几个大的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”的回调函数只有在返回结果时才会运行。它已经是异步的了。您可以直接在回调中检查结果数组。 –