【发布时间】:2015-08-08 23:47:26
【问题描述】:
从 Q 切换到 Bluebird,我只是想确保它在文化上是正确的:是否有相当于 Q.when(someValue); 或 Q(someValue); 的?
是Promise.resolve(someValue);吗?
【问题讨论】:
-
这不是一个重复的问题:我问的是当你有一个应该立即返回的值时应该使用什么模式,这与你作为重复提供的问题@gruenbaum 不同。请指教。
-
那里的答案确实解释了如何实际使用 Bluebird 而不是 Q。我使用 Q 的次数不多,但您可能是正确的,即您可以使用
Promise.resolve(value)返回一个简单的已解决承诺(可以是.then(..) 如果这是 Q.when 所做的。此外,如果您发布更多上下文,例如您正在尝试做什么,有人可能会告诉您如何更好地使用 Bluebird 而不是寻找等价物,因为 Bluebird 倾向于修复其他 Promise 库中使用的许多反模式。 -
感谢@ laggingreflex,但尽管那里的答案可能解释了如何使用 Bluebird,但那里提出的问题是“如何创建空头承诺” - 这不是我要问的,所以那里的答案应该'不回答我的问题,我在问“如何在 Bluebird 中创建一个履行的承诺”——完全不同的问题,这意味着我没有问过重复的问题。那么,我们都可以停止追逐积分吗?我只想谈谈代码和 API 的文化。
-
是的,这是类似的问题。您只是在问如何在 Bluebird 中使用 Q,即 Q.when(它们是相同的功能)——这就是该问题所要问的。
标签: javascript node.js promise q bluebird