javascript - 收集多个 JSONP 结果

标签 javascript jquery jsonp

我有一个 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/

相关文章:

javascript - 在 Node.js 上的服务器内发出子进程

javascript - 更新到 Bootstrap 3.2.0 - 导航标题对齐之后变得不对齐

javascript - 一。 ('click' ) 点击后重置

javascript - 使用JS从第三方获取JSON数据

javascript - 使用 JSONP 从雅虎财经加载报价

javascript - 在 JavaScript 中,是否有针对 iPhone 浏览器的开始滚动事件?

javascript - Angularjs:有没有办法从bootstrap ui typeahead的下拉列表中删除所选项目?

javascript - jQuery fadeIn() 和 fadeOut() 无延迟

javascript - 使用javascript调整html5 Canvas 大小(未达到预期结果)

javascript - 运行使用 jsonp 获取的脚本标签