node.js - 了解 Node/JavaScript 回调函数

标签 node.js callback

我对回调函数背后的概念的理解如下:作为参数传递给另一个函数的函数。其背后的想法是,当事件“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) 部分是“匿名函数”,它正在执行回调函数。但我不知道如何和为什么。为什么是执行这个“功能”的关键字,这些参数从哪里来?我还没有找到一个很好的解释来解释它是如何工作的。我明白它在高度抽象的隐喻层面上是如何工作的,但我不明白代码的含义。

最佳答案

reqres 参数(请求和响应)在 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/

相关文章:

javascript - 协同编辑 : document. getElementById 不更新显示

javascript - 有没有客户端+服务器端的MVC JS框架

javascript - 如何在expressjs中设置json web token的 header ?

python - Tkinter Canvas 自动调整大小

Node.js:从异步子函数的回调中调用异步父函数

javascript - 如何重构 Model.findOne(…) block 以使其更有前途 (SailsJS 0.9.x)

javascript - 如何在node/mean/express应用程序中拆分index.js文件?

javascript - 如何在不使用事件总线的情况下在另一个组件中获取一个组件中的数据属性的值?

javascript - 关于发帖请求

events - NSTextView 值已更改