Promise.prototype.finally = function(cb){
cb = typeof cb === 'function' ? cb : function(){};
let Pro = this.constructor;
return this.then(
value => Pro.resolve(cb()).then(() => value),
reason => Pro.resolve(cb()).then(() => throw reason)
)
}
Promise.finally
最新推荐文章于 2024-08-09 20:46:38 发布
该博客详细介绍了Promise.prototype.finally方法的实现原理。通过分析提供的代码,可以看到finally方法接收一个回调函数cb,如果cb为函数则执行,否则忽略。然后使用Promise构造函数返回新的Promise,无论then中的回调函数结果如何,都会执行cb并确保原始的value或reason能够正确传递。此方法在处理异步流程控制时非常有用。
摘要由CSDN通过智能技术生成