我是Node.js的新手,我只是想弄清楚参数在代码的回调方法中是如何工作的。
我只能理解第一个函数(req,res),因为我在工作服务器端时在Java中使用了它,但是我真的不明白它如何自动调用memcached函数或如何启动其余函数。等等。如果有人可以向我解释这是如何工作的,我将非常感激。谢谢
server.on('request', function(req, res) {
//get session information from memcached
memcached.getSession(req, function(session) {
//get information from db
db.get(session.user, function(userData) {
//some other web service call
ws.get(req, function(wsData) {
//render page
page = pageRender(req, session, userData, wsData);
//output the response
res.write(page);
});
});
});
});
可以粗略地将其与传递Java中的匿名类进行比较。例如,要对Java中的集合进行排序,您可以传递一个比较器类,该类具有用于比较两个对象的方法。稍后,当排序算法需要比较对象时,它将在提供的类中调用该函数。
在javascript函数中,第一类对象是对象,这意味着我们不需要“包装”类,可以将其作为参数传递给另一个函数。
在您的情况下,“ memcached.getSession”将执行是不逻辑的,找到会话,然后调用您在第二个参数中传递的匿名函数,并将该会话作为参数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句