我对回调函数背后的概念的理解如下:作为参数传递给另一个函数的函数。其背后的想法是,当事件“A”发生时,函数“A”可以使用函数“B”,但在此之前代码仍然可以正常运行,而不是等待事件“A”。我不明白的是一些语法以及代码实际上如何让它工作。
所以使用这样的代码:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080);
console.log('Server running on port 8080.');
我知道函数 (req, res) 部分是“匿名函数”,它正在执行回调函数。但我不知道如何和为什么。为什么是执行这个“功能”的关键字,这些参数从哪里来?我还没有找到一个很好的解释来解释它是如何工作的。我明白它在高度抽象的隐喻层面上是如何工作的,但我不明白代码的含义。
最佳答案
req
和 res
参数(请求和响应)在 Node HTTP Server module. 中定义。
让我们简化这个并制作我们自己的回调函数:(不是匿名函数,因此应该更容易理解)
function first(callback) {
console.log("First!");
callback();
}
function second() {
console.log("Second!");
}
first(second);
应该输出到控制台:首先!第二!
关于node.js - 了解 Node/JavaScript 回调函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33769702/