栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

等待多个getJSON调用完成

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

等待多个getJSON调用完成

如果您使用jQuery的deferred,这很容易。有一种方法,

$.when
等待多个诺言完成,然后运行回调。那就是你应该在这里使用的。

不要使用全局

obj
变量,您可以只使用AJAX调用的返回值。

function getData(id) {    var thisI = i;    var url = "www.whatever.com?id=" + id;    return $.getJSON(url);  // this returns a "promise"}

因此,

obj
我们没有填充,而是返回了诺言。然后,在您的循环中,您收集了所有这些。

var AJAX = [];for (i=0; i < ids.length; i++) {    AJAX.push(getData(ids[i]));}

然后,当所有这些操作完成后,我们需要连接回调:

$.when.apply($, AJAX).done(function(){    // This callback will be called with multiple arguments,    // one for each AJAX call    // Each argument is an array with the following structure: [data, statusText, jqXHR]    // Let's map the arguments into an object, for ease of use    var obj = [];    for(var i = 0, len = arguments.length; i < len; i++){        obj.push(arguments[i][0]);    }    document.getElementById("txt").innerHTML = obj[0]['field'];});


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/404051.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号