如果我输入调试器,我想检查一下。但是对该函数的调用会返回一个承诺,然后我就被卡住了。
例如:
我键入调试器,它停止了。
function test(db) {
debugger;
// here i want to see something
var a = .....;
}
但如果我输入
let d = db.User.create();
我去拿
Promise { pending }
现在没有办法。我不能简单地评估承诺。有点使整个调试器不那么有用。
这本来没有问题,如果它是同步的,我已经能够跳到程序中期,查看一些东西并根据自己的喜好修改程序然后运行程序的其余部分。
如果你不想在调试时评估控制台中的promises,你可以退回到异步等待,并在控制台node inspect
和浏览器开发工具版本中获得更愉快和同步的调试体验。
例如:
const createUser = async() => (
let d = await db.User.create();
debugger;
return d;
)
在await
上你的函数将暂停但是在promise解析时调试器将自动恢复,从而为你提供返回的异步值。