promi的三种状态

更新时间:2023-07-17 13:12:07 阅读: 评论:0

promi的三种状态
Promi的三种状态:
pending、fulfilled、rejected(未决定,履⾏,拒绝),同⼀时间只能存在⼀种状态,且状态⼀旦改变就不能再变。promi是⼀个构造函
数,promi对象代表⼀项有两种可能结果(成功或失败)的任务,它还持有多个回调,出现不同结果时分别发出相应回调。
pending
1.初始化,状态:pending
pengding=>fulfilled
2.当调⽤resolve(成功),状态:pengding=>fulfilled
pending=>rejected
3.当调⽤reject(失败),状态:pending=>rejected
藏头诗我爱你
冷面的做法(2021-8-18)补充:
Promi 对象
作⽤:
1.主要⽤于异步计算
2.可以将异步队列化,按照期望的顺序执⾏,返回符合预期的结果
3.可以在对象之间传递和操作promi,帮助我们处理队列
影调
延伸问题:什么是异步什么是同步
同步:1、2、3、4个任务按顺序执⾏,1执⾏完毕后2才会开始执⾏
二年级小故事异步:1、2、3、4个任务,假如1任务时间⽐较长,在执⾏1任务的同时开始执⾏其他任务,再通过回调 或者事件继续执⾏1任务,和交付任务的事件顺序⽆关。
普通异步处理:ajax异步请求、事件监听
容易出现的问题:回调地狱,剥夺return的能⼒,虽然说可以解决,但是代码结构嵌套程度深,处理复杂,不易于维护。
promi处理异步⽅式:
区别:
1.函数除闭包外不能保存状态,⽽promi是⼀个对象可以⽅便的保存状态
2.并为剥夺return的能⼒,因此⽆需层层传递callback,进⾏回调获取数据
3.代码风格容易理解,便于维护
4.多个⼀部等待合并便于解决
甲胎蛋白偏高的原因
promi的三个状态:
1.pending(初始状态)、fulfilled(操作成功)、rejected(操作失败)
2.状态的转变是单⼀的,⼀经转变不会再变
qq怎么拉人进群例⼦:篱墙
new Promi((resolve,reject)=>{
tTimeout(()=>{resolve('hello')})//成功操作(使⽤resolve直接转变状态)
tTimeout(()=>{reject('worder')})//失败操作(使⽤reject直接转变状态)
}).then(res=>{//返回⼀个新的Promi对象
console.log(res);//操作成功(异步处理成功的回调)
黄黄的叶子像什么
}).catch(err=>{//返回⼀个新的Promi对象
console.log(err);//错误捕获(异步处理失败错误的回调)
})
如果.then和.catch连续调⽤容易出现的问题
1.多个.then和catch同时连续调⽤时,⼀旦出现catch就会绕过中间所有的.then处理直接进⼊后⾯的catch中,(状态转变成了rejected状态)
Promi.all()批量处理容易出现的问题
1.批量处理时,Promi.all([arr1,arr2])将多个数组包装成⼀个新的Promi实例,返回的就是⼀个普通的promin对象
2.批量处理时只有当所有的⼦promin执⾏完成并且都时成功状态时,才会返回⼀个数组集合结果,其中任何⼀个⼦promi处理失败就会转为rejected(失败)状态。
3.失败时返回的是第⼀个失败的promi对象
Promi.race()批量处理
1.参数传递处理于Promi.all()⼀样,区别是只要⼀个⼦promi成功,Promi状态就会转变为resolve(成功)状态
——————————————————————————————————————————
⼀缕阳光,后期将不定时出针对前端疑点难点的博⽂,谢谢关注!!

本文发布于:2023-07-17 13:12:07,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1101388.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:处理   状态   回调   任务   失败   结果   出现
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图