0

ダーツストリーム初心者です。私は、 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)' ステートメントは何も生成しません。接続ステータスの更新があるたびにストリームが結果または失敗をもたらすように、コードをどのように書き直すべきですか?

4

0 に答える 0