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());

posted @ 2016-10-21 12:24  Krystal_M  阅读(13674)  评论(3编辑  收藏  举报