Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 等待输入和输出的阻塞方法_Node.js_Command Line_Command Line Interface_Blocking - Fatal编程技术网

Node.js 等待输入和输出的阻塞方法

Node.js 等待输入和输出的阻塞方法,node.js,command-line,command-line-interface,blocking,Node.js,Command Line,Command Line Interface,Blocking,我正在为命令行在节点中编写消息传递应用程序。它需要能够打印新收到的消息,同时允许用户随时键入要发送的消息 您能帮我弄清楚如何创建一个阻塞方法,该方法在接收到诸如“EXIT”之类的特定输入后退出,但允许打印到控制台,并且可以接收和处理与退出案例不匹配的输入吗?提前感谢。在node.js中不能这样做。如果希望接收其他类型的事件,则不能阻止主JS线程。node.js中的Javascript是单线程和事件驱动的。获取下一个事件的唯一方法是非阻塞,以便主JS线程可以获取事件队列中的下一个事件 您很有可能通

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


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

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

您很有可能通过非阻塞I/O提供所需的功能。您必须向我们展示您迄今为止的代码,以便我们就如何使用您的代码实现这一点向您提供进一步的建议


请记住,您可以随时使用
process.exit()
退出node.js进程,这样您就可以使用异步、事件驱动的输入处理程序,并且每当它找到特定的输入,如
exit
,它就会调用
process.exit()
来退出进程。对于其他输入,它将根据键入的内容分派到相应的处理程序。

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

您很有可能通过非阻塞I/O提供所需的功能。您必须向我们展示您迄今为止的代码,以便我们就如何使用您的代码实现这一点向您提供进一步的建议

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