Promise finally 源码问题
Promise.prototype.finally = function(cb){
return this.then(
value=> Promise.resolve(cb()).then(()=>value),
reason=>Promise.resolve(cb()).then(()=>{throw new Error(reason)})
)
}
求大佬解释下这段代码
特别是其中 Promise.resolve(cb())
为啥 cb 要这么处理啊(这个大佬已经解决)
问题 2.
为什么Promise.resolve(cb())
后 还需要调用 .then(()=>value)
意义在哪里
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
就是为了给回调包装成一个 Promsie。
不过你这个 polyfill 从哪儿看的?
cb
也没执行啊,应该是cb()
才对。