试图理解节点的createServercallback
使用Node.js hello world示例:
var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, '127.0.0.1'); console.log('Server running at http://127.0.0.1:1337/');
我试图findhttp.js中的createServer“查找”一个函数,然后将它传递给两个对象(上面被命名为“req”和“res”)。我已经通过http.js进行了search,发现是:
exports.createServer = function(requestListener) { return new Server(requestListener); };
这是否意味着匿名function:
function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }
…作为“requestListener”传递并…
return new Server(requestListener);
req和res对象被传回的地方?
是。 在Javascript函数本身是可以分配给“对象”的“值”。 既然你可以传递一个对象到另一个函数,那么你可以传递一个函数本身作为一个对象。
requestListener
是名为requestListener
的参数createServer
,用于调用Server
constructor
。
你也可以在ruby中看到这个,在这里你可以调用一个函数,同时把它作为一个参数在do块中执行。