javascript node.js next()

我在node.js中看到很多使用。

这是什么,它从哪里来? 它有什么作用? 我可以使用它的客户端?

对不起,这是用于例如: http : //dailyjs.com/2010/12/06/node-tutorial-5/

寻找loadUser函数。

这似乎是Node.js控制stream代码中的一个variables命名约定,其中下一个要执行的函数的引用被赋予了一个callback,以便在完成时启动。

例如,请参阅此处的代码示例:

我们来看看你发布的例子:

 function loadUser(req, res, next) { if (req.session.user_id) { User.findById(req.session.user_id, function(user) { if (user) { req.currentUser = user; return next(); } else { res.redirect('/sessions/new'); } }); } else { res.redirect('/sessions/new'); } } app.get('/documents.:format?', loadUser, function(req, res) { // ... }); 

loadUser函数的第三个参数需要一个函数,该函数绑定到next名字。 这是一个正常的function参数。 它持有对下一个要执行的操作的引用,一旦loadUser完成,就会调用它(除非找不到用户)。

在这个例子中, next名字没有什么特别之处。 我们可以任命它。

它是在需要串行执行动作的情况下传递callback时使用的命名约定,例如扫描目录 – >读取文件数据 – >使用数据执行某些操作。 这优先于深度嵌套的callback。 以下Tim Caswell的HowToNode博客文章的前三部分给出了一个很好的概述:

http://howtonode.org/control-flow

另请参阅该发布的第二部分的“ 顺序操作”部分:

http://howtonode.org/control-flow-part-ii