什么是 callback?
Callback(中文常译为“回调函数”)是指在编程中,将一个函数作为参数传递给另一个函数,并在特定时机被调用执行的机制。
回调函数广泛用于事件处理、异步操作(如网络请求、文件读取)等场景,是 JavaScript 等语言实现非阻塞编程的核心方式之一。
为什么需要 callback?
- 实现异步操作:例如在等待服务器响应时,不阻塞主线程。
- 增强代码的灵活性和复用性:同一函数可接受不同回调以完成不同任务。
- 处理事件驱动逻辑:如点击按钮后执行某段代码。
简单示例(JavaScript)
function fetchData(callback) {
setTimeout(() => {
const data = "从服务器获取的数据";
callback(data);
}, 1000);
}
fetchData(function(result) {
console.log(result); // 1秒后输出:从服务器获取的数据
});
上面的例子中,function(result) { ... } 就是一个回调函数,它在 fetchData 内部被调用。
注意事项
虽然 callback 非常有用,但过度嵌套会导致“回调地狱”(Callback Hell),使代码难以维护。现代开发中常使用 Promise 或 async/await 来替代深层嵌套的回调。