【发布时间】:2013-06-16 08:30:03
【问题描述】:
我正在使用 IcedCoffeeScript。
我想写这个:
User.find(id).always esc done 或 await User.find(id).always defer e, user
但Promise#always 在when.js 中已弃用。
还有其他方法吗?
【问题讨论】:
标签: node.js iced-coffeescript when-js
我正在使用 IcedCoffeeScript。
我想写这个:
User.find(id).always esc done 或 await User.find(id).always defer e, user
但Promise#always 在when.js 中已弃用。
还有其他方法吗?
【问题讨论】:
标签: node.js iced-coffeescript when-js
Promise#always 在when.js 中已弃用,并将在即将发布的版本中删除。
但是,promise.always(onFulfilledOrRejected, onProgress) 只不过是.then(onFulfilledOrRejected, onFulfilledOrRejected, onProgress) 的快捷方式。所以不要使用
.always(handler)
你必须使用
.then(handler, handler)
如果您使用 .always 的内联函数和 .then 一样可能会影响您的代码,最好将它们提取为单独的函数。
when.js 的作者建议使用promise.ensure 而不是promise.always。更多详情here.
promise.ensure更安全,因为它不会意外地将失败转化为成功(always只需成功返回就可以做到!)。
我希望这会有所帮助。
【讨论】: