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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法在不重新启动调试器的情况下评估nodejs中的promise?相关的知识,希望对你有一定的参考价值。

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

例如:

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

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解析时调试器将自动恢复,从而为你提供返回的异步值。

以上是关于有没有办法在不重新启动调试器的情况下评估nodejs中的promise?的主要内容,如果未能解决你的问题,请参考以下文章

有没有办法在不重新启动 Solr 服务器的情况下动态更新同义词文件?

有没有办法在不重新启动终端的情况下通过 bash_profile “资源”? [复制]

有没有办法在不重新启动应用程序的情况下使 NSBundle 本地化缓存失效? [iOS]

如何在不重新启动的情况下调试 mod_perl2 模块?

有没有办法在不创建新套接字的情况下处理 CRL 更新

WKWebView 在不重新加载页面的情况下评估 Javascript