0
假設您正在觀察頻繁更改的屬性,例如當它低於閾值時應該重新填充的隊列?如何在執行其他事件時忽略事件?
queue.rac_valuesForKeyPath("count", observer: self)
.toSignalProducer()
.filter({ (queueCount: AnyObject?) -> Bool in
let newQueueCount = queueCount as! Int
return newQueueCount < 10
})
.on(next: { _ in
// Refilling the queue asynchronously and takes 10 seconds
self.refillQueue(withItemCount: 20)
})
.start()
當隊列爲空時,下一個處理程序將被觸發並填充隊列。填充隊列時,SignalProducer會發送一個新的下一個事件,因爲count屬性更改爲1 - 另一個。但我不希望下一個處理程序被觸發。相反,我希望每當隊列低於該閾值時觸發一次。
我該如何以最好的方式做到這一點?有沒有有用的事件流操作?有任何想法嗎?
乾杯,
赫拉爾