我一直在研究这个基本示例,以便在Node中设置一个简单的服务器,但是我真的很努力地了解“请求”和“响应”参数的来源。他们指向哪里以及如何指向?
// Load the http module to create an http server. var http = require('http'); function onRequest(request, response) { response.writeHead(200, {"Content-Type": "text/plain"}); response.end("Hello World\n"); } // Configure our HTTP server to respond with Hello World to all requests. var server = http.createServer(onRequest); // Listen on port 8000, IP defaults to 127.0.0.1 server.listen(8000);
通常,当将参数传递给函数时,我传递的东西我可以看到,例如等于5的变量或“ Hello”,但是在这种情况下,我不是...
对不起,如果这个解释得不好!
调用时createServer
,您将函数传递onRequest
给它:
var server = http.createServer(onRequest);
这种模式称为回调:您将函数传递给其他人,期望他们在发生有趣的事情时调用您的函数。
本质上,您是在对Node说,
嘿,请为我创建一个HTTP服务器。每当您收到请求时,都
onRequest
将请求和响应对象作为参数传递给我的函数。
另一种方法是监听request
事件,该事件在其回调中采用相同的参数。
参数记录为http.IncomingMessage
和http.ServerResponse
。你可以打电话给他们任何你想要的,但request
并response
是地道的参数名称。(某些人使用req
,res
因为它们的键入时间较短。)