160得票1回答
在本地ES6 Promise中,与Bluebird Promise.finally相当的是什么?

Bluebird提供了一个finally方法,无论你的Promise链发生什么情况都会被调用。我觉得这非常方便用于清理目的(如解锁资源、隐藏加载器等)。 在ES6原生的Promise中是否有相当之处?

154得票8回答
在 Promise 链中处理多个异常情况

我对 Promise 还比较新,目前正在使用 Bluebird,但是我有一个场景,不太确定如何最好地处理它。 例如,在 Express 应用程序中,我有一个 Promise 链:repository.Query(getAccountByIdQuery) .catch(func...

133得票2回答
Promise.resolve与new Promise(resolve)的区别

我正在使用bluebird,我看到有两种方式将同步函数解析为Promise,但我不理解两种方式之间的区别。它们的堆栈跟踪似乎有点不同,所以它们不仅仅是一个别名,对吗? 那么哪种方式更好呢? 方式Afunction someFunction(someObject) { return ne...

120得票13回答
正确的方式编写 Promise 循环。

如何正确构造循环以确保以下的 Promise 调用 和链接的 logger.log(res) 在迭代过程中同步运行?(bluebird)db.getUser(email).then(function(res) { logger.log(res); }); // this is a promis...

70得票1回答
如何使用Promises链接和共享之前的结果

我正在使用bluebird库,并且需要进行一系列的HTTP请求,并且需要将一些响应数据传递给下一个HTTP请求。我已经建立了一个处理请求的函数,名为callhttp()。它需要一个URL和POST请求的正文(body)。 我是这样调用它的:var payload = '{"Username"...

66得票5回答
使用一级try...catch在JavaScript Promises中捕获错误

那么,我希望我的第一级catch处理错误。有没有办法将错误传播到该第一个catch中? 参考代码,目前还不起作用:Promise = require('./framework/libraries/bluebird.js'); function promise() { var pro...

61得票1回答
Koa / Co / Bluebird 或 Q / Generators / Promises / Thunks 如何相互作用?(Node.js)

我正在研究使用Koa构建Web应用程序,但在选择和应用各种支持“使异步更容易”的技术/方法(如下所列)方面,我还没有完全掌握其如何、何时以及为什么选择。总体而言,网络上关于此主题的不同指导依然模糊不清,特别是在进化中的最佳实践或至少更好的实践以及哪些情况下使用时。似乎没有多少东西将所有这些放在...

60得票1回答
在Node 7中使用--harmony_async_await是否可以跨异步/等待边界获取堆栈跟踪?

我们正在尝试在Node 7中使用--harmony_async_await,与使用babel转换async/await相比,我们缺少具有长堆栈跟踪能力的选项(http://bluebirdjs.com/docs/api/promise.longstacktraces.html)。 很明显,如果...

58得票4回答
将 Promise 转换为 Bluebird

我找到一个使用promise的现有库,但它没有使用bluebird。这个库的函数不具备像.map()或.tap()这样的bluebird附加功能。我如何将“普通”或“非bluebird”promise转换为带有bluebird提供的所有额外功能的promise? 我尝试使用Promise.p...

51得票6回答
如何从 Promise 中提取数据

我有一个返回数据的 Promise,我想将其保存在变量中。由于JavaScript是异步的,这是不可能的吗?我需要使用 onResolve 作为回调函数吗? 我是否可以通过某种方式使用它(例如:用 async/await 包装它):const { foo, bar } = Promise.t...