gpt4 book ai didi

javascript - 如何在 Node.js 调试器中检查 Promise?

转载 作者:行者123 更新时间:2023-12-03 09:25:58 25 4
gpt4 key购买 nike

我用node.js编写了一个应用程序。在主模块中,我使用 cujojs' when module 创建各种 promise 并将它们推送到一个数组中,并在它们全部满足时使用when.all().then()发送一条快乐的消息。当通过 WebSocket 连接接收到某些消息时,某些 promise 就会得到解决。当 WebSocket 消息按一定顺序到达时,我会收到满意的消息。当消息以不同的顺序到达时,我不会收到满意的消息。

所以我想查看主模块中的 promise 数组和其他变量。简单地调用调试器会导致“无帧”错误,因此我设置了一个虚拟“心跳”函数,该函数通过 setInterval 每秒调用一次。然后,当我在心跳函数中设置断点并尝试查看 Promise 数组时,调试器告诉我它未定义(应该是模块范围的变量!)。因此,我在 heartbeat 函数中添加了 var pa = Promise_array 行。然后我尝试使用when's inspect method在 repl 中如下:

debug> repl
Press Ctrl + C to leave debug repl
> for( p in pa ){ console.log( p.inspect().state }

它说类型错误:对象0没有方法“检查”

所以我不确定发生了什么。为什么在模块中设置断点时看不到模块中的变量?

最佳答案

尝试使用Node Inspector

Node Inspector 允许您以与在 Chrome 开发人员工具中调试前端应用程序几乎相同的方式调试 Node.js 代码,包括使用调试器语句和设置断点。您可以在执行时逐步履行您的 promise 。

关于javascript - 如何在 Node.js 调试器中检查 Promise?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31664436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com