如何在两个屏幕上收听一个流
how to listen to one stream on two screens
错误:错误状态:流已被收听。
我有一个屏幕,其中有一个 StreamBuilder 正在收听流,我想在另一个屏幕上收听相同的流,但它给出了一个错误,我尝试这样收听(我使用卡将流存储在提供者中并通过密钥访问,因为我不想复制一些代码):
final stream = objectStateInfoModelProvider.objectStateInfoProvider[obj]!
.asBroadcastStream(
onListen: (subscription) async {
subscription.resume();
},
);
stream.listen(
(event) {
setState(() {
dataFromStream = event;
});
},
);
根据评论的建议,我在外面做了一个广播流,一切正常:
final broadcastStream = stream.asBroadcastStream(
onCancel: (subscription) {
subscription.pause();
},
onListen: (subscription) {
subscription.resume();
},
);
错误:错误状态:流已被收听。 我有一个屏幕,其中有一个 StreamBuilder 正在收听流,我想在另一个屏幕上收听相同的流,但它给出了一个错误,我尝试这样收听(我使用卡将流存储在提供者中并通过密钥访问,因为我不想复制一些代码):
final stream = objectStateInfoModelProvider.objectStateInfoProvider[obj]!
.asBroadcastStream(
onListen: (subscription) async {
subscription.resume();
},
);
stream.listen(
(event) {
setState(() {
dataFromStream = event;
});
},
);
根据评论的建议,我在外面做了一个广播流,一切正常:
final broadcastStream = stream.asBroadcastStream(
onCancel: (subscription) {
subscription.pause();
},
onListen: (subscription) {
subscription.resume();
},
);