如何重新初始化扑扑的方块或重新初始化其mapEventToState函数

时间:2020-05-27 10:18:14

标签: flutter dart flutter-bloc

我刚刚在我的应用程序中实现了Flutter BLoc库,但是我遇到了问题。

这是我需要做的:

当蓝牙打开时,我发送一个事件“ connectTothedevice”,并且蓝牙集团连接到该设备。然后,我发送一个事件sendMyDataEvent,然后蓝牙集团发送我的数据。但是,当蓝牙断开连接时,我将发送事件“ DisconnectEvent”,并且需要清除正在执行的操作并进入初始状态。

但这是我的问题:当我拥有sendMyDataEvent时,蓝牙块会多次执行这一行代码

await bluetoothCharacteristicToSend.write(trame);

因此,当蓝牙关闭时,我在此行处于阻塞状态,因为我在mapEventToState中处于阻塞状态,所以我无法再对其他事件做出反应了。

这是我的调试日志:

Bluetooth b : bluetooth state is ON Bluetooth bloc : new event : Instance of 'FindFlyKeysDevice' Bluetooth bloc : new event : Instance of 'SendMorceauEvent' Bluetooth b : bluetooth state is OFF Bluetooth b : bluetooth state is ON

因此,我考虑过解决该问题的可能性很小,但我不知道这是否是好的做法以及如何解决:

  • 重新定义蓝牙组
  • 停止等待呼叫

0 个答案:

没有答案