callback的原理和机制
What?
✅ 什么是 Callback?
Callback(回调)就是把“我处理完再通知你”的机制。
你把一个“接口对象”传给别人,别人处理完后“反过来调用你提供的方法”,这就叫回调。
✅ 通俗比喻:
你点了外卖(Presenter 调用 Model),
让外卖小哥送到你家(Model 获取数据),
并留了你的电话(传入 Callback 接口)。
外卖送到了,他就打你电话通知你(调用onSuccess()
)。
机制核心
✅ Java 中的 Callback 机制核心(结合MVP架构的文章理解):
定义一个接口:
interface Callback {void onSuccess(String data);void onError(String msg);
}
谁需要被通知(Presenter),谁就实现这个接口。
谁在执行操作(Model),谁就调用这个接口的方法来“通知对方”结果。
why?
✅ 为什么用 Callback?
因为某些任务(比如网络请求)是 异步的、耗时的,不能等着它同步返回。
所以我们提供一个 Callback,让它处理完了再“回头”通知我们。