Skip to content

Node.js 回调函数

在 JavaScript 中,函数即对象。我们可以将对象作为参数传递给函数吗?答案是“可以”。

所以,我们可以将函数作为参数传递给其他函数,在外部函数中调用它。听起来有点复杂?我们看一下下面的例子:

javascript
function print(callback) {  
    callback();
}

print( ) 函数将另一个函数作为参数,并在函数体内部调用它。在 JavaScript 里,我们叫它“回调”。所以,被传递给另一个函数作为参数的函数叫作回调函数。

例如,我们可以一边读取文件,一边执行其他命令,在文件读取完成后,我们将文件内容作为回调函数的参数返回。这样在执行代码时就没有阻塞或等待文件 I/O 操作。这就大大提高了 Node.js 的性能,可以处理大量的并发请求。

为什么需要回调函数?

JavaScript 按从上到下的顺序运行代码。但是,在有些情况下,必须在某些情况发生之后,代码才能运行(或者说必须运行),这就不是按顺序运行了。这是异步编程。

回调函数确保:函数在某个任务完成之前不运行,在任务完成之 后立即运行。它帮助我们编写异步 JavaScript代码,避免问题和错误。

在 JavaScript 里创建回调函数的方法是将它作为参数传递给另一个函数,然后当某个任务完成之后,立即调用它。