"请求"和"响应"来自何处,我怎么能找到?

fer*_*raz 5 javascript events backend function-parameter node.js

我决定学习节点,所以我正在关注,首先是节点初学者书.正如在我猜的其他许多资源中,有"简单的HTTP服务器",第一步,如:

var http = require("http");

http.createServer(function(request, response) {
    response.writeHead(200, {"Content-Type": "text/plain"});
    response.write("Hello World");
    response.end();
}).listen(8888);
Run Code Online (Sandbox Code Playgroud)

据我了解,当有人(在这种情况下,我localhost:8888)提出请求时,会触发一个事件,并且传递给的匿名函数http.createServer会被触发.我在这里放了一些我已经设法找到的文件http.createserver给任何发现它有用的人:

http.createServer([requestListener])

返回一个新的Web服务器对象.

requestListener是一个自动添加到'request'事件的函数.

(来自node.js网站)

我无法找到或弄清楚这个触发函数如何通过它传递参数,以及如何找到它.那么......我怎么知道这些参数来自哪里,它们提供什么方法​​等等?

提前致谢!

mat*_*tth 2

在 JavaScript 中,函数可以作为参数传递到方法中。例子:

function funcA(data) {
    console.log(data);
}
function funcB(foo) {
    foo('I'm function B');    // Call 'foo' and pass a parameter into that function
}
funcB(funcA); // Pass funcA as a parameter into funcB
Run Code Online (Sandbox Code Playgroud)

您正在做的http.createServer就是上面的内容,传递一个可以接受参数的函数。新服务器希望您传入一个它可以调用的函数。服务器将执行内部操作,创建请求和响应对象,然后使用这些变量调用您传入的函数。

请阅读Http 事件:请求以获取有关这些参数的详细信息。