RACSignal サブスクライバーの重複を防ぐ方法はありますか?
今、私は単純化したい方法でこれを修正することができました。
私は自分の信号を持っています:
ExampleAPI.ProgressList().signalValue.doCompleted({ () -> Void in
self.titleProgressCallRunning = false
})
titleProgressCallRunning
そして、それが開始されると、私は falseの場合にのみサブスクライブします:
private func getTitlesProgress() {
if self.titleProgressCallRunning {
return
}
self.titleProgressCallRunning = true
titleProgressSignal.subscribeNextAs({ (titlesProgress:[VDLTitleProgress]) -> () in
self.titlesProgress = titlesProgress
NSNotificationCenter.defaultCenter().postNotificationName(kNotificationTitlesProgressUpdated, object: nil)
})
}
Moya を使用しているため、リクエストはすでに 1 回しか実行されていません。しかし、getTitlesProgress メソッドを 2 回呼び出すとsubscribeNextAs
、ブール値を使用せずにブロックが 2 回トリガーされます。titleProgressCallRunning
これを防ぐための良い解決策を探しています!