0
点赞
收藏
分享

微信扫一扫

es6新特性---Promise详解

兔八哥软件爱分享 2022-03-30 阅读 70

Promise用来解决回调地狱的问题

1、promise有三个状态:(生命周期)

  • pending 初始状态
  • fulfilled 成功状态
  • rejected 失败状态

2、promise方法

  • then方法

  then方法存在于所有Promise对象上,并且接收两个参数。第一个参数是Promise状态为fulfilled(成功结束)的调用函数,第二个则是状态rejected(未成功结束)的调用函数。

 promise.then(res => {
          console.log(res)
},err => {
console.error(err)
})
//也可以进行链式操作
promise.then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})
  • catch方法
promise.catch(err => {
 console.log(err) }) 
// 等同于 
promise.then(null,err => {
 console.error(err) 
})
  • all()方法
let p1 = Promise.resolve(1), p2 = Promise.resolve(22), p3 = Promise.resolve(333);
let loading = true; 
// 比方说加loading就可以加一个了 写个伪代码 
Promise.all([p1,p2,p3]).then(res => { 
    console.log(res) // [1, 22, 333] 
    loading = false  //伪代码 
})

这里返回数据的顺序是根据传进去的promise对象的顺序,如果其中有一个reject了,后面的代码会立刻停止,并将错误信息返回到catch里

  • race()方法
let p1 = Promise.resolve(1), p2 = Promise.resolve(22), p3 = Promise.resolve(333);
Promise.race([p1,p2,p3]).then(res => { 
    console.log(res) // 1 
})

promise原理详解

Promise原理详解(一) - 知乎

举报

相关推荐

ES6特性 -- Promise特性

ES6 Promise 详解

ES6新特性④

ES6新特性

【ES6新特性】

ES6新特性②

ES6新特性(一)

0 条评论