什么是 Callback?
在 JavaScript 中,Callback(回调函数) 是一个作为参数传递给另一个函数的函数,并在某个操作完成后被调用。 它是实现异步编程的基础方式之一。
基本用法示例
function greet(name, callback) {
console.log('Hello ' + name);
callback();
}
function sayGoodbye() {
console.log('Goodbye!');
}
greet('Alice', sayGoodbye);
// 输出:
// Hello Alice
// Goodbye!
异步场景中的 Callback
常用于处理定时器、文件读取、网络请求等异步任务:
function fetchData(callback) {
setTimeout(() => {
const data = { id: 1, name: 'Example' };
callback(data);
}, 1000);
}
fetchData(function(result) {
console.log('收到数据:', result);
});
注意事项
- 避免“回调地狱”(Callback Hell):多层嵌套导致代码难以维护。
- 现代 JavaScript 更推荐使用
Promise或async/await替代深层回调。 - 确保错误处理机制完善(例如使用 error-first callback 模式)。