【C语言干货】回调函数

发布于:2025-05-28 ⋅ 阅读:(22) ⋅ 点赞:(0)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言


提示:以下是本篇文章正文内容,下面案例可供参考

一、回调函数的基本概念

1. 什么是回调函数?

回调函数(Callback Function)是指作为参数传递给另一个函数的函数,并在特定条件满足或事件发生时被调用执行的函数。回调函数允许我们在异步操作完成后执行特定代码。

2. 回调函数的特点

  • 函数作为参数:回调函数本质上是作为参数传递的函数

  • 延迟执行:回调函数不会立即执行,而是在特定条件满足时被调用

  • 控制反转:主函数控制何时调用回调函数

  • 灵活性:可以动态改变程序行为

3. 简单示例

// 定义一个接收回调函数的函数
function greet(name, callback) {
    console.log(`Hello, ${name}!`);
    callback(); // 调用回调函数
}

// 定义回调函数
function sayGoodbye() {
    console.log('Goodbye!');
}

// 使用回调
greet('Alice', sayGoodbye);

/*
输出:
Hello, Alice!
Goodbye!
*/

二、回调函数的常见应用场景

1. 事件处理

javascript

复制

下载

// DOM事件回调
document.getElementById('myButton').addEventListener('click', function() {
    console.log('Button clicked!');
});

2. 定时器

javascript

复制

下载

// setTimeout回调
setTimeout(function() {
    console.log('This runs after 1 second');
}, 1000);

3. 网络请求

javascript

复制

下载

// 传统XMLHttpRequest回调
function fetchData(url, successCallback, errorCallback) {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.onload = function() {
        if (xhr.status === 200) {
            successCallback(xhr.response);
        } else {
            errorCallback(new Error(xhr.statusText));
        }
    };
    xhr.onerror = function() {
        errorCallback(new Error('Network Error'));
    };
    xhr.send();
}

4. Node.js中的I/O操作

javascript

复制

下载

// Node.js文件读取回调
const fs = require('fs');

fs.readFile('example.txt', 'utf8', function(err, data) {
    if (err) {
        console.error('Error:', err);
        return;
    }
    console.log('File content:', data);
});



网站公告

今日签到

点亮在社区的每一天
去签到