为什么ExpressJS中间件不能同步执行

时间:2015-01-13 13:32:57

标签: node.js express server

我正在阅读本教程https://blog.safaribooksonline.com/2014/03/10/express-js-middleware-demystified/,并且它说你必须调用next()for express才能知道函数是否已执行,因为它是异步的。为什么不消除next()并使所有内容同步? (对不起...... noob问题)

1 个答案:

答案 0 :(得分:1)

因为一些(或可能很多)中间件执行i / o操作(例如查询数据库,写入日志文件,缓冲大流输入等),以及Node扩展的方式是通过执行异步操作来阻止处理器在等待那些事情发生时。它允许单个节点进程处理比其他情况更多的并发请求。