涛神

导航

 

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).

posted on 2018-05-06 23:01  IT漂泊者  阅读(109)  评论(0)    收藏  举报