[英]Avoid repeated http requests on ReactiveCocoa
我有一個信號,它基本上是在要求使用NSRULSession進行配置。 當我執行一個subscribeNext時,它會很好地處理請求,但是第二次不再需要此請求。 我該如何避免呢?
您的信號將在每次被訂閱時執行其工作,除非您進行明確的操作以防止這種情況發生。 聽起來您想要的是replayLast
運算符。 該運算符將緩存信號的最后一個發射值,並在再次訂閱信號時發射它,而不是重做初始工作。
在此處閱讀“重播”運算符: http : //spin.atomicobject.com/2014/06/29/replay-replaylast-replaylazily/
可以通過take:
運算符發出一次時間信號。 您只需要傳遞一個參數即可執行信號所需的時間。 在執行了如此多的操作之后,該網關將完全關閉,並且沒有更多數據將在subscribeNext:
塊中傳遞。 在您的情況下,該金額等於1。
RACSignal *requestConfigurationSignal = ...
[[requestSignal
take:1]
subscribeNext:^(id value){
NSLog(@"Request in progress")
}]
使用一個屬性及其值綁定到該屬性的操作。 然后僅在需要時觸發操作以刷新屬性的值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.