在node.js代码中callback参数的含义

我对Node.js非常陌生,我只是想了解这些参数如何在代码的callback方法中工作。

我只能理解第一个函数(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中对集合进行sorting,您需要传递一个比较器类,该类有一个用于比较两个对象的方法。 后来,当sortingalgorithm需要比较对象时,它会调用提供的类中的函数。

在JavaScript函数中是第一类对象,这意味着我们不需要“包装器”类,并可以将其作为parameter passing给另一个函数。

在你的情况下,“memcached.getSession”将执行逻辑,find会话,然后调用你在第二个参数中传递的匿名函数,以session作为参数。