【问题标题】:Node.js unresponsive until key press on consoleNode.js 无响应,直到在控制台上按下按键
【发布时间】:2013-05-09 14:24:03
【问题描述】:

我有一个在 Windows Server 2008 上运行的 Node.js 应用程序。我在这里遇到了一个奇怪的问题。

我的应用执行多个异步任务。向socket.io、MySQL、HTTP连接、TCP连接等发送数据

我的 Node 应用程序变得无响应,尤其是在 socket.io 端,并且只有在控制台上按任何键后才会再次开始响应。这是一个已知的问题?有没有绕过这种行为?

注意:我大量使用 console.log 来跟踪当前的操作和过程中的错误。

【问题讨论】:

    标签: node.js console socket.io


    【解决方案1】:

    我做了一些背景调查,得出以下结论。

    单击 Windows Server 2008 上的 Powershell 控制台会进入“暂停”模式。如果您单击其他地方,它将再次释放。 http://www.vistax64.com/powershell/112032-script-pauses-when-you-click-powershell-text-window.html

    如果您注意到,console.log 是异步的。但是console.warnconsole.error 正在阻塞。这些不是异步的。

    控制台暂停可能会阻止部分/大部分 Node.js 操作。特别是。因为默认调试级别的 Socket.io 报告的不仅仅是console.log

    【讨论】:

    【解决方案2】:

    其他人建议的解决方案对我不起作用,但使用Cmder 启动脚本解决了它。绝对看起来是控制台应用程序问题,而不是 node.js 问题。

    【讨论】:

      猜你喜欢
      • 2020-08-10
      • 2015-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-03
      • 1970-01-01
      相关资源
      最近更新 更多