JS的回调函数什么时候被调用?举个例子说明
时间: 2023-08-18 12:06:59 浏览: 156
回调函数是一种被传递给其他函数作为参数,并在某个特定事件或条件满足时被调用的函数。它通常用于处理异步操作、事件处理和处理其他需要等待某个条件满足的情况。
下面是一个例子,说明回调函数何时被调用:
```javascript
function fetchData(callback) {
// 模拟异步操作,比如从服务器获取数据
setTimeout(function() {
const data = '这是从服务器获取的数据';
callback(data); // 调用回调函数,并将数据传递给它
}, 2000);
}
function processData(data) {
console.log('处理数据:', data);
}
fetchData(processData);
console.log('请求已发送');
// 输出:
// 请求已发送
// 处理数据: 这是从服务器获取的数据
```
在上面的示例中,我们定义了一个名为`fetchData`的函数,它模拟了一个异步操作,比如从服务器获取数据。在该函数内部,通过`setTimeout`模拟了一个2秒钟后的延迟操作,并在延迟结束后调用了传入的回调函数`callback`,并将数据作为参数传递给它。
我们还定义了一个名为`processData`的函数作为回调函数,用于处理获取到的数据。在最后一行代码中,我们调用了`fetchData`函数,并将`processData`作为回调函数传入。
执行过程如下:
1. `fetchData(processData)`:调用`fetchData`函数,并将`processData`作为回调函数传入。
2. `console.log('请求已发送')`:输出"请求已发送",表示请求已经发送。
3. 2秒后,`setTimeout`中的回调函数被调用,将获取到的数据传递给了`callback(data)`。
4. `processData`函数被调用,并打印出处理后的数据。
这个例子展示了回调函数的使用,通过将回调函数作为参数传递给其他函数,在特定事件发生后被调用来处理数据或执行其他操作。这种方式可以处理异步操作,确保在数据准备好之后执行相应的逻辑。
阅读全文