mirror of
https://github.com/Aexiar/c.git
synced 2024-10-22 14:05:45 +02:00
2024年10月8日 14:11
This commit is contained in:
parent
9cc7eae090
commit
de19c7f8be
@ -1362,6 +1362,49 @@ int main() {
|
|||||||
|
|
||||||
## 2.5 回调函数
|
## 2.5 回调函数
|
||||||
|
|
||||||
|
### 2.5.1 概述
|
||||||
|
|
||||||
|
* 所谓的`回调函数`就是将函数作为参数传递给另一个函数的方式,以便该函数在某个事件发生后调用这个函数。
|
||||||
|
|
||||||
|
### 2.5.2 JavaScript 语言中的回调函数
|
||||||
|
|
||||||
|
* 在 JavaScript 中函数是一等公民(头等公民),这意味着函数可以像变量一样传递。
|
||||||
|
|
||||||
|
> [!NOTE]
|
||||||
|
>
|
||||||
|
> JavaScript 中的函数广泛应用于异步编程(如:处理用户事件、网络请求等),是因为 JavaScript 是单线程的,异步操作不会阻塞主线程运行,而是通过回调函数在异步任务完成后执行。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* 示例:
|
||||||
|
|
||||||
|
```c {20}
|
||||||
|
/**
|
||||||
|
* @param name
|
||||||
|
* @param callback 接受一个回调函数作为参数
|
||||||
|
*/
|
||||||
|
function greet(name, callback) {
|
||||||
|
console.log('Hello, ' + name);
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 回调函数
|
||||||
|
*/
|
||||||
|
function done() {
|
||||||
|
console.log('Callback function executed.');
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* done 是一个回调函数
|
||||||
|
*/
|
||||||
|
greet('John', done);
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2.5.3 C 语言中的回调函数
|
||||||
|
|
||||||
|
* C 语言本身没有异步编程的直接支持,回调函数一般用于同步操作中,回调函数往往是立即调用的。异步操作通常通过多线程或事件驱动编程模型实现,回调函数可以通过这种方式延迟执行,如:在操作系统中,回调函数用于处理硬件中断、信号等。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user