promise 核心 几个小问题
1.如何改变pending的壮体
- 抛出异常。pending变为rejected // throw new Error('fail') 内部抛出异常也这样 reason为抛出的error
- resolve() pending变为resolved
- reject()pending变为rejected
2.一个promise指定多个成功/失败的回调 都会执行吗
全部都会执行
3.改变promise状态和指定回调函数的先后
一般异步情况
先指定的回调函数(内部保存回调函数),后改变状态(指定数据),然后执行回调函数
也可以先改变状态再指定回调
4.promise.then()返回的promise结果状态由什么决定
简单表达: 由.then指定的回调函数执行结果决定
详细表达:
- 抛出异常,新promise变为rejected,reason为抛出异常
- 返回的是非promise值。新promise为resolved value为值
- 返回的是新promise。新promise的结果就是结果
5ppromise如何串联多个操作任务
1.promise的then返回一个新的promise。
2.通过then的链式调用
6.promise的异常传透
1.可以在最后指定一个失败的回调
箭头函数作用
定义匿名函数
箭头作用 return
reason => {} 加上大括号 就是函数体的标记 就没有return
2.前面任何操作出现异常,都会传送到最后的失败处理
7.如何终端promise链
1.返回一个pending的状态promise
2.在使用then时候,中间中断
return new Promise(()=> {})
本人是一个技术爱好者
1.但是每个技术爱好者都是从萌新开始的
2.我所有的博文都是我各方资料查阅(看的比较乱比较杂,因为有些是群里讨论等等来源,无法辨别出处,所以我的文章都是没有写明出处,都是我个人消化后整理,)
3.但是没有经过我实践的我一般会标注
4.希望大家共同交流共同进步,指出我的不足 谢谢

浙公网安备 33010602011771号