有多个node.js教程,演示了如何创建服务器。但是,他们以不同的方式编码。那么,你怎么知道何时以一种方式写作呢?没有一个教程解释 为什么 他们按照他们的方式编写它。
例如......
示例1:
// Create an http server, passing in a function for some reason:
http.createServer(function(request, response) {
与示例2:
// Create an http server, and then start it
var server = http.createServer(handleRequest);
server.listen(PORT, function () {
提前致谢。我真的很难理解这一点。
答案 0 :(得分:4)
他们真的没有什么不同。在第一个中,您定义了当场处理请求的功能,然后必须在结束时开始收听。
http.createServer(function(request, response) {
...
}).listen(PORT, function() { ... });
在第二步中,您定义了在其他地方处理请求的功能,并且不使用链接。
function handleRequest(request, response) {
...
}
var server = http.createServer(handleRequest);
server.listen(PORT, function() { ... });
他们都做同样的事情。这取决于你想如何写它。
答案 1 :(得分:2)
真的偏好。
有些人更喜欢在参数列表中处理函数定义(典型的旧文档),而其他人则更喜欢传入已定义函数的名称。
我发现第二个例子更容易维护,更灵活,但实际上归结为偏好。