【发布时间】:2023-03-30 04:14:01
【问题描述】:
如何停止订阅单例类的流,并且在重新创建订阅时不继续该流的数据?
class MyClass {
static MyClass _instance;
factory MyClass() {
_instance ??= MyClass._internal();
return _instance;
}
MyClass._internal();
final BehaviorSubject<Status> _streamController = BehaviorSubject<Status>();
Stream<Status> get stream => _streamController.stream;
Function(Status) get sink => _streamController.sink.add;
StreamSubscription subscriptionImage;
void dispose() {
_streamController?.close();
}
void listen() {
subscriptionImage = stream.listen((Status statusAnalysis) async {
if (statusAnalysis.saving) {
try {
await patch(statusAnalysis);
} on MyException catch (e) {}
}
});
}
}
【问题讨论】:
标签: flutter stream subscription