与when.js如何将一个承诺转换为一个Node.js风格的callback?

我正在使用IcedCoffeeScript。

我想写这个:

User.find(id).always esc doneawait User.find(id).always defer e, user

但是Promise#alwayswhen.js被弃用。

有另一种方法吗?

Promise#alwayswhen.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可以简单地通过成功返回!)。

我希望这会有所帮助。