簡體   English   中英

避免在ReactiveCocoa上重復請求http

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM