多个ajax请求后的返回操作

1、async

jquery ajax默认异步请求,但可以在请求添加  async: false ,这样就会同步执行,请求的顺序就是代码的顺序。

2、$.when()

提供一种基于零个或多个Thenable对象执行回调函数的方法。

如果没有参数传递给$.when(),他讲返回一个已解析的 Promise。

var ajax1 = $.ajax({ url: "/ajax1.php", type:"post", data:{}, dataType: "json" });

var ajax2 = $.ajax( "/ajax2.php" );

$.when( ajax1, ajax2 ).done(function () {

    // 执行操作

});

3、promise

(1)重复 then

function a () {

    return new Promise (function(resolve, reject) {

        resolve('执行任务a成功');

    });

}

function b () {

    return new Promise (function(resolve, reject) {

        resolve('执行任务b成功');

    });

}

a().then(b())

(2) promise.all

将多个 Promise 实例,包装成一个新的 Promise 实例。

ES6,需要首先判断 window.promise 是否具备。

Promise.all([

    ajax1,

    ajax2

]).then(() => {

    // 执行操作

}).catch(()=> {});

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容