promise执行多个ajax的请求

Posted Krystal_M

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了promise执行多个ajax的请求相关的知识,希望对你有一定的参考价值。

写在前面:作为入门级菜鸟,当项目切了环境用上node,vue,es6的时候,发现要学习理解的东西还有太多,之前连Promise是个啥都不知道。

      翻了翻书上说 Promise是抽象异步处理对象以及对其进行各种操作的组件,略抽象看不懂是不是啊~于是请教了大神

  简单说就是:每一个异步请求立刻返回一个Promise对象,由于是立刻返回,所以可以采用同步操作的流程。而Promise的then方法,允许指定回调函数,在异步任务完成后调用。

  下面的setTimeout()可以代替理解为一个ajax请求:

    

function a () {

  return new Promise (function(resolve, reject) {

    setTimeout(function () {

          console.log(‘执行任务a‘);

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

}, 1000);

});

}

function b () {

  return new Promise(function (resolve, reject){

    setTimeout(function(){

     console.log(‘执行任务b‘);

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

}, 2000);

});

}

function c () {

  console.log(‘最后执行c‘)

}

// 只有在a成功执行了之后,才执行b,在b成功执行了之后再执行C(谁先请求执行谁~)

a().then(b()).then(c());

以上是关于promise执行多个ajax的请求的主要内容,如果未能解决你的问题,请参考以下文章

利用Promise实现数据多个请求加载完成时执行某个方法

js Promise 等待多个异步操作执行完再去做一些操作

用Promise解决多个异步Ajax请求导致的代码嵌套问题

20promise与ajax jsonp

谈谈 ES6 的 Promise 对象

ES6之Promise封装ajax()