什么是 Callback?
Callback(回调函数)是指一个函数作为参数传递给另一个函数,并在特定事件或条件发生时被调用。 它是 JavaScript 实现异步操作的核心机制之一。
基本示例
function greet(name, callback) {
console.log('Hello, ' + name);
callback();
}
function sayGoodbye() {
console.log('Goodbye!');
}
greet('Alice', sayGoodbye);
运行结果:
Hello, Alice
Goodbye!
异步中的 Callback
在处理文件读取、网络请求等耗时操作时,Callback 常用于避免阻塞主线程:
setTimeout(() => {
console.log('延迟执行');
}, 1000);
这里的箭头函数就是一个回调函数。
注意事项
- 避免“回调地狱”(Callback Hell):多层嵌套难以维护,可改用 Promise 或 async/await。
- 确保错误处理:良好的回调设计应包含错误参数(如 Node.js 风格的
(err, data))。 - 不要同步调用异步回调:保持行为一致性。