ES6 的 Promise 怎么样才能让一段代码无论成功失败都得以运行呢?貌似没有 finally 方法。

2015-01-10 13:23:26 +08:00
 love
3703 次点击
所在节点    JavaScript
9 条回复
otakustay
2015-01-10 13:49:10 +08:00
.then(final, final)
love
2015-01-10 14:58:20 +08:00
@otakustay 这样子不是要重复写二遍代码,或者要先定义一个函数,无论哪个都不方便。我是说别的异步库都有finally功能反而官方的Promise没有这不太合理,毕竟这个功能很常用的。
bcxx
2015-01-10 15:01:06 +08:00
@love 你用一个变量把 final 绑定住不就好了么……
otakustay
2015-01-10 15:29:05 +08:00
那么……

Promise.prototype.ensure = function (callback) { this.then(callback, callback); }
otakustay
2015-01-10 15:36:48 +08:00
love
2015-01-10 15:48:39 +08:00
@otakustay 是的我也看到了,还有一个比较完善的polyfill https://github.com/matthew-andrews/Promise.prototype.finally
oott123
2015-01-11 01:07:55 +08:00
诶…?我记得我用的 Q 就有 finally 方法啊…
oott123
2015-01-11 01:08:29 +08:00
抱歉抱歉,没看到楼主说的 ES6。
→_→或许可以考虑第三方库…
leonlu
2015-01-12 10:12:09 +08:00
哈哈, 给ES6的标准委员会发邮件呀, 提需求去...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/160866

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX