等待输入输出的阻塞方法

Blocking method of waiting for input and outputting

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

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

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

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

请记住,您可以随时使用 process.exit() 退出 node.js 进程,这样您就可以只使用异步的、事件驱动的输入处理程序,只要它发现特定的输入,例如 EXIT,然后它会调用 process.exit() 退出进程。对于其他输入,它会根据输入的内容分派到适当的处理程序。