首页 > 其他 > 详细

搞懂promise

时间:2018-05-06 23:19:42      阅读:218      评论:0      收藏:0      [点我收藏+]

1)基本用法:

var p = new Promise(function(resolve,reject){

  //code..

  //sometime 

  resolve(somedata);//(1)

});

p.then(function resolve(data){

  console.log(data);

},

function reject(error){

  console.log(error);

}

);(2)

Promise对象的状态为,初始pendding,(1)的时候,Promise.status变成fulfilled,并把somedata赋值给PromiseValue。当调用then后,根据Promise.status对回调链进行处理。

如果调用方式为p.then(f1_resolve,f1_reject).then(f2_resolve,f21_reject);

根据f1_resolve的返回值处理下一个then。

  1. 如果返回非Promise对象,则传入下一个then的f2_resolve。
  2. 如果返回Promise对象,则对这个对象调用then方法。

2)第二种用法:

Promise.resolve(somedata).then(function resolve(){});//直接生成Promise对象,并触发resolve(somedata).

搞懂promise

原文:https://www.cnblogs.com/work-instant/p/9000230.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!