【问题标题】:Blocking method of waiting for input and outputting等待输入输出的阻塞方法
【发布时间】:2017-01-01 06:48:56
【问题描述】:

我正在 node 中为命令行编写一个消息传递应用程序。它需要能够打印新收到的消息,同时允许用户键入消息以随时发送。

您能帮我弄清楚如何创建一个阻塞方法,该方法在接收到“EXIT”之类的特定输入后退出,但允许打印到控制台并可以接收和处理与退出情况不匹配的输入?提前致谢。

【问题讨论】:

    标签: node.js command-line command-line-interface blocking


    【解决方案1】:

    你不能在 node.js 中这样做。如果你想接收其他类型的事件,你不能阻塞主 JS 线程。 node.js 中的 Javascript 是单线程和事件驱动的。获取下一个事件的唯一方法是非阻塞的,以便主 JS 线程可以获取事件队列中的下一个事件。

    您很可能可以通过非阻塞 I/O 提供所需的功能。您必须向我们展示您目前拥有的代码,以便我们为您提供有关如何使用您拥有的代码完成此任务的进一步建议。

    请记住,您可以随时使用 process.exit() 退出 node.js 进程,这样您就可以拥有异步的、事件驱动的输入处理程序,并且只要它找到像 EXIT 这样的特定输入,它就会调用 @987654323 @ 退出进程。对于其他输入,它将根据输入的内容分派给适当的处理程序。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      相关资源
      最近更新 更多