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方法内部做但事情就是状态判断: 成功调用成功回调函数,失败调用失败回调函数
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本