在教程中,人们谈论 Node JS 的非阻塞、异步功能如何意味着 UI 在执行缓慢操作时保持响应 - 这些是客户端关注的问题。
但是,这不是服务器端 Node 的正常用例 - 例如从数据库中提取数据,然后在 API 中提供服务。在这种情况下,异步到底重要吗?无论如何,只有在所有数据准备就绪后,数据才会被传送,因此需要相同的时间(假设您正在响应单个 http 请求)。
最佳答案
Node.js 在单线程中运行。任何单线程运行时都需要非阻塞 I/O 以避免变得无响应。
在网络浏览器中,“无响应”意味着用户无法与页面交互,并且浏览器无法处理 requestAnimationFrame
等常规任务。这是一件坏事,但它只影响一个用户。
在网络服务器中,无响应意味着服务器无法响应任何请求。如果 10 个用户同时访问您的网站,则 9 个用户被阻止,同时 1 个用户等待数据库。这是灾难性的。
关于javascript - 如果服务器端使用Node js,为什么需要异步呢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40064538/