有没有办法在不重新启动调试器的情况下评估nodejs中的promise?

问题描述 投票:4回答:1

如果我输入调试器,我想检查一下。但是对该函数的调用会返回一个承诺,然后我就被卡住了。

例如:

我键入调试器,它停止了。

function test(db) {
    debugger;
    // here i want to see something
    var a = .....;
}

但如果我输入

let d = db.User.create(); 

我去拿

Promise { pending }

现在没有办法。我不能简单地评估承诺。有点使整个调试器不那么有用。

这本来没有问题,如果它是同步的,我已经能够跳到程序中期,查看一些东西并根据自己的喜好修改程序然后运行程序的其余部分。

javascript node.js promise
1个回答
0
投票

如果你不想在调试时评估控制台中的promises,你可以退回到异步等待,并在控制台node inspect和浏览器开发工具版本中获得更愉快和同步的调试体验。

例如: const createUser = async() => ( let d = await db.User.create(); debugger; return d; )

await上你的函数将暂停但是在promise解析时调试器将自动恢复,从而为你提供返回的异步值。

© www.soinside.com 2019 - 2024. All rights reserved.