1.用途:用于在一个事件中不知道事件什么时候发生,但是在事件结束时想在程序中做出某种操作时使用。例如在设备连接蓝牙时,蓝牙突然因为某种突发情况断开连接,这时App需要更新页面的蓝牙状态。
2.使用
2.1首先定义一个类型,这个类型是需要传入一个字符串的函数。
typedef StatusListener=void Function(String statusMsg);
2.2 定义回调函数。
StatusListener? _statusCallback;
2.3 设置回调。
void setStatusListener(StatusListener? callback)=>_statusCallback=callback;
setStatusListener((String status){
//这里写回调事件发生时执行的操作
})
上面相当于定义了一个函数:
_statusCallback(String status){
//这里写回调事件发生时执行的操作
}
2.4 回调事件发生时的调用。
if(_statusCallback!=null){
_statuscallback!('statusMsg')
}
这样2.3中就会收到字符串’statusMsg’。