什么是蓝鸟诺言相当于本地ES6承诺最后?

蓝鸟提供了一个“终于”的方法,被称为无论发生在你的诺言链。 我发现它非常方便,用于清理目的(如解锁资源,隐藏装载程序…)

ES6原生承诺中是否有相同的内容?

以下是Finally方法的文档参考:

http://bluebirdjs.com/docs/api/finally.html

谢谢

简答: 没有一个

catch() then()之后添加一个额外的then() catch()来始终调用该callback函数。

例:

 myES6Promise.then(() => console.log('Resolved')) .catch(() => console.log('Failed')) .then(() => console.log('Always run this')); 

JSFiddle演示: https ://jsfiddle.net/moogs/9frfjcsg/

您可以扩展原型以包含一个finally()方法(不推荐):

 Promise.prototype.finally = function(cb) { const res = () => this; const fin = () => Promise.resolve(cb()).then(res); return this.then(fin, fin); }; 

JSFiddle演示: https ://jsfiddle.net/moogs/c67a6ss0/1/

资料来源:

  • ES6承诺解决callback?

有一个build议在原生Promise中实现了finally()方法:

  • Promise.prototype.finally TC39 ECMAScriptbuild议