前文概要
回调机制:指将一个方法或函数作为参数传递给另一个方法,待特定的事件或操作完成时,调用这个方法,处理结果或执行后续操作
可以理解为一种“通知”机制,当一个任务完成时,调用回调函数来传递结果或执行后续逻辑
回调可以分为同步回调和异步回调:
同步回调:指回调函数在主函数执行期间立即被调用。即回调是顺序执行的,不涉及多线程或异步操作
异步回调:常见异步操作,如网络请求、文件I/O操作等,在任务执行完毕后,异步回调函数会被调用,处理返回的结果或错误
1.1 整体回调机制流程图
可以看出回调是一种双向调用关系,类A事先把回调函数callback()注册到类B上,接下来类A的method()在调用类B的methodB()的时候,类B的methodB()又反过来调用事先注册好的类A回调函数callback(),最终形成A调用B,B又调用A的双向调用场景,这就是回调机制
1.2 回调的结构
一个回调函数一般会包含以下三个部分:
- 回调注册:将回调函数作为参数传递给另一个参数。例如:传递给一个异步任务
- 任务执行:主函数执行任务,可能是异步或者同步操作
- 回调调用:任务执行完成之后,根据成功或失败等条件调用回调函数
1.3 回调的作用
回调函数允许我们把控制权转移给任务调用方。在不同的场景下,回调函数有很多作用
- 事件驱动编程:当事件发生时