Unverified 提交 7cca9f20 authored 作者: Alex Li's avatar Alex Li

🐛 Construct listener gracefully

上级 72a628b0
......@@ -25,21 +25,22 @@ import 'method_channel/fluwx_platform_interface.dart';
import 'response/wechat_response.dart';
class Fluwx {
late final WeakReference<void Function(WeChatResponse event)>
responseListener;
Fluwx() {
_responseSubscription = FluwxPlatform.instance.responseEventHandler.listen(
_responseEventListener,
onDone: () {
_responseSubscription?.cancel();
},
);
}
final List<WeChatResponseSubscriber> _responseListeners = [];
final _responseListeners = <WeChatResponseSubscriber>[];
StreamSubscription? _responseSubscription;
Fluwx() {
responseListener = WeakReference((event) {
for (var listener in _responseListeners) {
void _responseEventListener(WeChatResponse event) {
for (final listener in _responseListeners.toList()) {
listener(event);
}
});
final target = responseListener.target;
if (target != null) {
FluwxPlatform.instance.responseEventHandler.listen(target);
}
}
Future<bool> get isWeChatInstalled =>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论