【发布时间】:2015-01-13 13:32:56
【问题描述】:
我正在阅读本教程https://blog.safaribooksonline.com/2014/03/10/express-js-middleware-demystified/,它说您必须调用 next() 来表示要知道函数已完成执行,因为它是异步的。为什么不直接消除 next() 并使一切同步呢? (对不起...菜鸟问题)
【问题讨论】:
我正在阅读本教程https://blog.safaribooksonline.com/2014/03/10/express-js-middleware-demystified/,它说您必须调用 next() 来表示要知道函数已完成执行,因为它是异步的。为什么不直接消除 next() 并使一切同步呢? (对不起...菜鸟问题)
【问题讨论】:
因为一些(或可能很多)中间件执行 i/o 操作(例如,查询数据库、写入日志文件、缓冲大流输入等),并且 Node 扩展的方式是通过执行异步操作来不阻塞处理器同时等待这些事情发生。它允许单个节点进程处理比其他方式更多的并发请求。
【讨论】: