找回密码
 立即注册
查看: 121|回复: 1

关于回调函数

[复制链接]

14

主题

10

回帖

78

积分

注册会员

积分
78
发表于 2023-2-2 22:13:53 | 显示全部楼层 |阅读模式
什么是回调函数?
为什么要使用回调函数?
回调函数的缺点。

回复

使用道具 举报

14

主题

10

回帖

78

积分

注册会员

积分
78
 楼主| 发表于 2023-2-2 22:14:51 | 显示全部楼层
1. 什么是回调函数:

函数指针的调用,即是一个通过函数指针调用的函数;

如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用其所指向的函数时,就说这是回调函数。

即:把一段可执行的代码像参数传递那样传给其他代码,而这段代码会在某个时刻被调用执行,就叫做回调。如果代码立即被执行就称为同步回调,如果在之后晚点的某个时间再执行,则称为异步回调。

2. 为什么要使用回调函数

回到函数作用:“解耦”,普通函数代替不了回调函数的这个特点。这是回调函数最大的特点。

使用回调函数,和普通函数调用区别:1)在主入口程序中,把回调函数像参数一样传入库函数。这样一来,只要我们改变传进库函数的参数,就可以实现不同的功能,且不需要修改库函数的实现,变的很灵活,这就是解耦。

2)主函数和回调函数是在同一层的,而库函数在另外一层。如果库函数对我们不可见,我们修改不了库函数的实现,也就是说不能通过修改库函数让库函数调用普通函数那样实现,那我们就只能通过传入不同的回调函数了,这也就是在日常工作中常见的情况。

3. 回调函数:使用其实也是不得已而为之,是一种解决问题的策略

回调函数的使用是对函数指针的应用,函数指针的概念本身很简单,但是把函数指针应用于回调函数就体现了一种解决问题的策略,一种设计系统的思想

3. 回调函数的缺点:

1)回调函数固然能解决一部分系统架构问题但是绝不能再系统内到处都是,如果你发现你的系统内到处都是回调函数,那么你一定要重构你的系统。

2)回调函数本身是一种破坏系统结构的设计思路,回调函数会绝对的变化系统的运行轨迹,执行顺序,调用顺序。回调函数的出现会让读到你的代码的人非常的懵头转向。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|粤嵌技术交流空间

GMT+8, 2025-7-7 18:30 , Processed in 0.728930 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表