搞懂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。

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

2)第二种用法:

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

以上是关于搞懂promise的主要内容,如果未能解决你的问题,请参考以下文章

# Promise的简单理解和基本使用

# Promise的简单理解和基本使用

一文彻底搞懂 CMS GC 参数配置

彻底搞懂行内元素,块级元素,行内块元素

[新星计划]一文快速搞懂系列__一文快速搞懂SuperSet[实战案例]

想搞懂Jetpack架构可以不搞懂生命周期知识吗?