我有一个 JavaScript 应用程序,可以从多个 jsonp 请求获取数据。返回所有数据后,页面将使用新数据进行更新。下面是伪代码,但它是针对同步环境构建的。
function GetAllData() {
var data1= GetData1();
var data2= GetData2();
var data3= GetData3();
UpdatePage(data1,data2,data3);
}
我遇到的问题是,在更新页面之前,我需要收集并了解 jsonp 请求返回所有数据的时间。我正在查看 jquery deferred,但我不确定这是否是正确的解决方案。
如有任何建议,我们将不胜感激。
最佳答案
Deferred当您使用 JQuery 时,这是正确的解决方案。
function GetData1() {
return $.ajax("/foo", ...);
}
function GetData2() {
return $.ajax("/bar", ...);
}
function GetData3() {
return $.ajax("/baz", ...);
}
function UpdatePage(data1, data2, data3) {
...
}
function Error() {
alert("An error occurred while fetching data");
}
function GetAllData() {
$.when(GetData1(), GetData2(), GetData3()).then(UpdatePage, Error);
}
关于javascript - 收集多个 JSONP 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18093494/