与when.js如何将一个承诺转换为一个Node.js风格的callback?
我正在使用IcedCoffeeScript。
我想写这个:
User.find(id).always esc done
或await User.find(id).always defer e, user
但是Promise#always
在when.js
被弃用。
有另一种方法吗?
Promise#always
在when.js
被弃用,并将在即将推出的版本中被删除。
然而, promise.always(onFulfilledOrRejected, onProgress)
只不过是promise.always(onFulfilledOrRejected, onProgress)
一个快捷方式.then(onFulfilledOrRejected, onFulfilledOrRejected, onProgress)
。 所以,而不是使用
.always(handler)
你将不得不使用
.then(handler, handler)
如果使用.always
内联函数,那么如果可能影响你的代码.then
那么最好把它们作为单独的函数提取出来。
when.js
作者推荐使用when.js
而不是when.js
。 更多细节在这里 。
promise.ensure
更安全,因为它不能将失败转化为偶然成功(always
可以简单地通过成功返回!)。
我希望这会有所帮助。