22

一度だけ開始したいオブザーバブルがあります。ドキュメントは言う:

dispose bags または takeUntil 演算子を使用することは、リソースが確実にクリーンアップされるようにする強力な方法です。シーケンスが有限時間で終了する場合でも、本番環境で使用することをお勧めします。

私のオブザーバブルは、たった1つのイベントの後に終了します

let observable = Observable.create() { observer in
  webservice.makeHTTPRequestWithCompletionBlock {
    if something {
      observer.on(.Next(...))
      observer.onCompleted()
    } else {
      observer.on(.Error(...))
    }
  }
}

このオブザーバブルのサブスクライバーをキャンセルすることに興味がなかったとします。一度実行して完了させたいだけです。作業自体が完了したら、このオブザーバブルのライフサイクルを終了させたいです。つまり、私が見ることができる disposeBag の適切な候補はありません。takeUntil も「イベント」を期待していますが、私が見ることができる良いものはありません。

今、私は使い捨てを捨てることによって警告を解決するだけです:

_ = observeable.subscribeNext { ... }

これを行う方法、または使用すべき別のパラダイムはありますか?

4

1 に答える 1