我在节点代码中使用蓝鸟承诺,经常使用调试器来逐步执行代码。然而,使用承诺,我发现我不能像以前那样逐步完成。我必须像我在下面评论的那样添加断点。
var promise = doSomethingAndReturnPromise1(stuff);
promise.then(function(stuff) {
return doSomethingAndReturnPromise2(stuff) /* add brk pt */
}).then(function(user) {
return doSomethingAndReturnPromise3(stuff) /* add brk pt */
}).catch(function(err) {
// handle err /* add brk pt */
}
我记得在使用async
时,我能够在没有添加额外断点的情况下单步执行,或者可以设置断点并更容易从堆栈中告诉之前发生的事情。有没有办法在bluebird或任何promise库中启用它?
答案 0 :(得分:0)
以下是您如何逐步完成蓝鸟承诺:
Promise.longStackTraces()
或以其他方式将蓝鸟置于调试模式(通过设置环境变量BLUEBIRD_DEBUG=1
)来关闭批处理蹦床。