在 flutter 中取消 StreamSubscription
Cancelling a StreamSubscription in flutter
我有以下流订阅
Stream<Uint8List> stream = await USBSerialSingleton.instance.inputStream;
usbStream = stream.listen(onDataReceivedFromUSBSerial);
inputStream
就是这样暴露的广播流。
Future<Stream<Uint8List>> get inputStream async {
final UsbPort port = await this.port;
return port.inputStream.asBroadcastStream();
}
我想停止收听直播,所以我打电话给
usbStream.cancel();
但我一直在使用 onDataReceivedFromUSBSerial
方法接收消息。即使我关闭了实现所有这些的对话,我仍然在 onDataReceivedFromUSBSerial
上收到消息。
问题:如何停止收听我的 usbStream
?
您必须等待订阅取消,所以这样做:
await usbStream.cancel();
我有以下流订阅
Stream<Uint8List> stream = await USBSerialSingleton.instance.inputStream;
usbStream = stream.listen(onDataReceivedFromUSBSerial);
inputStream
就是这样暴露的广播流。
Future<Stream<Uint8List>> get inputStream async {
final UsbPort port = await this.port;
return port.inputStream.asBroadcastStream();
}
我想停止收听直播,所以我打电话给
usbStream.cancel();
但我一直在使用 onDataReceivedFromUSBSerial
方法接收消息。即使我关闭了实现所有这些的对话,我仍然在 onDataReceivedFromUSBSerial
上收到消息。
问题:如何停止收听我的 usbStream
?
您必须等待订阅取消,所以这样做:
await usbStream.cancel();