node.js的“非阻止”未来是否与常规网站相关?

时间:2015-06-18 15:35:59

标签: javascript php ajax node.js

PHP只有一个线程,这意味着它一次可以执行1个命令,而node.js具有“非阻塞”未来(事件循环),因此它可以执行异步函数。

我不知道这有用。例如 - 如果用户使用POST请求执行表单注册,并且我们需要将该数据插入数据库,则Node和PHP都需要完成操作,然后才将响应返回给用户。

如果我们想从服务器获取数据,Node和PHP都将从数据库中查询数据,等到数据检索完成后再将答案返回给用户。这意味着客户无论如何都需要等待。

那么“非阻塞”的未来有什么好处?

2 个答案:

答案 0 :(得分:2)

使用节点,单个线程处理对应用程序的所有请求,而不仅仅是一个请求。这是事件循环和异步逻辑发挥作用的地方。没有它,node.js一次只能处理一个请求。有了它,node.js可以接受请求,向数据库发送数据请求,然后在等待数据返回时,接受另一个请求并处理它。

答案 1 :(得分:1)

当您想要一次为用户执行几个请求/使用websockets

时,节点异步会很方便