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

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

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

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

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

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

当您想要一次执行几个用户请求/使用websockets时,节点asynchronous会派上用场