客户端如何处理来自服务器的多个响应的node.js

看起来服务器(节点)具有类似于线程的行为,因为它处理同步请求,但我们知道客户端的JavaScript不支持multithreading。 我只是问问客户端(JavaScript)如何处理node.js特别是从服务器的多个响应? 举个例子,我想同时渲染两个对象。

用node.js制作一个快速的实时游戏应用程序是否合适?

有没有办法或模式来处理这个问题?

把节点看作是一个指挥官,它不受任何阻碍地处理任务的监视。 所以如果你这样想的话,节点不需要是multithreading的,它不需要任何等待时间就可以执行任务,因此不需要创build一个新的线程,因为没有任何东西被阻塞。

在你的评论中你提到了套接字,想到这一点,Node有一个networking线程监视数据的TCP / UDP连接,当它收到一个包时,它会问你的节点脚本你想用这个包做什么,networking线程发送这个新的数据包作为答复,然后networking线程去做,而下一个事件被调用。


看看下面的图片和段落,这个应该解释一下

在node.js中,你不应该担心后端会发生什么情况:只要在做I / O时使用callback; 你可以保证你的代码永远不会中断,而且做I / O不会阻塞其他的请求,而不会产生每个请求的线程/进程的代价(例如Apache中的内存开销)。

拥有asynchronousI / O是很好的,因为I / O比大多数代码更昂贵,我们应该做比等待I / O更好的事情。

在这里输入图像说明

事件循环是“处理和处理外部事件并将其转换为callback调用的实体”。 因此,I / O调用是Node.js可以从一个请求切换到另一个请求的点。 在I / O调用中,您的代码保存callback并将控制返回到node.js运行时环境。 当数据实际可用时,稍后调用callback。

资料来源: http : //blog.mixu.net/2011/02/01/understanding-the-node-js-event-loop/


一定要阅读那篇文章,这是第一篇让我完全理解后端架构发生了什么的文章。