Promise学习笔记

预备知识:

//箭头函数一个参数时可以去掉箭头,返回语句只有一行的话,可以省略return
(x)=>{return x*2} 等价于 x => x*2

//catch((e)=>console.log(e)) 
//或者
//catch(failueCallBack) 等价于 then(null,failueCallBack),不传第一个resolve的参数,不监听resolve的信息

1.Promise有3种状态 pending, fulfilled, rejected

 

2.Promise 


var promiseTest = new Promise(function (resolve, reject) {
  get('http://www.google.com', function (err, res) {
    if (err) reject(err);
    else resolve(res);
  });
});
var promise = new Promise((resolve, reject)=>{
  resolve("123");
})

promise.then((value) => {console.log(value)})  //如果then中只有一个resolve,报错的信息会一直向后传递,知道遇到catch处理,catch等价于then(null,reject)
.catch((e)=>{console.log(e)})
.then(()=>{console.log('called anytime')}) //错误信息被catch处理完以后,会执行该语句

原文地址:https://www.cnblogs.com/kingsmart/p/14955626.html