我正在使用Express 4.0节点.我在网上(包括文档)找不到有关在路由中嵌入异步代码的任何内容.
使用中间件非常简单:
app.use('/something',function (req,res,next) { doSomethingAsync(function(err,probablySomethingElse) { // probably some error checking next(); }); });
路线的问题是没有下一个回调,那么快递如何知道何时转移到下一个工作?
app.get('/something',res) { res.render('someTemplate'); // no next() here,but it still works });
如果我不得不猜测,我会说在上述功能退出后,快速移动到下一个任务.但出于好奇,我推出了以下代码……
app.get('/something',next) { console.log(next); });
……实际上还有一些下一个回调通过了.那么这里发生了什么?它在幕后如何运作?我怎样才能将异步代码放在那里?