Promise

promise的三种状态:pending(进行中)、fulfilled(已完成)、rejected(已失败)。

那天,我看到了网上一个例子,脑瓜子想破了,也没想明白。来吧!贴出来,欣赏下:

 

Promise.resolve().then(() => {
    console.log(0);
    return Promise.resolve(4);
}).then((res) => {
    console.log(res)
})

Promise.resolve().then(() => {
    console.log(1);
}).then(() => {
    console.log(2);
}).then(() => {
    console.log(3);
}).then(() => {
    console.log(5);
}).then(() =>{
    console.log(6);
})

 

 

 

   这不就是 0,1,2,3,4,5,6嘛~

 

那我们试试,到浏览器输出看一下

结果为:【0、1、2、3、4、5、6】  (キ`゚Д゚´)!!

可是,4  怎么跑到  3 后边去的呀!

下面,我们浅浅道来。(有没有装B装到,哈哈)

 

  • Promise是一个类,在执行这个类的时候会传入一个执行器,这个执行器会立即执行
  • Promise会有三种状态:pending(等待),fullfilled(完成),rejected(失败)
  • 状态只能由pending-->fullfilled ,  pending---->rejected,一旦发生改变便不可修改。
  • promise中使用resolve,reject两个函数来更改状态。
  • then方法内部做但事情就是状态判断: 成功调用成功回调函数,失败调用失败回调函数

 

posted @ 2023-02-16 11:05  阿兰儿  阅读(25)  评论(0编辑  收藏  举报