搞懂promise
Posted work-instant
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搞懂promise相关的知识,希望对你有一定的参考价值。
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。
- 如果返回非Promise对象,则传入下一个then的f2_resolve。
- 如果返回Promise对象,则对这个对象调用then方法。
2)第二种用法:
Promise.resolve(somedata).then(function resolve(){});//直接生成Promise对象,并触发resolve(somedata).
以上是关于搞懂promise的主要内容,如果未能解决你的问题,请参考以下文章