ダーツストリーム初心者です。私は、 connectivity_plusパッケージを使用して、接続の結果または例外を返す必要があるメソッドを持っています。
final Connectivity _connectivity = Connectivity();
ConnectivityResult _result = ConnectivityResult.none;
Stream<Either<ValueFailure, ConnectivityResult>> watchConnectivity() async* {
try {
_result = await _connectivity.checkConnectivity();
_connectivity.onConnectivityChanged.listen((ConnectivityResult result) {
// Got a new connectivity status!
_result = result;
});
yield right(_result);
} on PlatformException catch (e) {
yield Left(ValueFailure.connectivityError(failMessage: e.message));
}
}
現在、接続ストリーム サブスクリプション内で新しいイベントが発生した後、'yield right(_result)' ステートメントは何も生成しません。接続ステータスの更新があるたびにストリームが結果または失敗をもたらすように、コードをどのように書き直すべきですか?