ThrottleLatest 從當前 Observable 節流項目,首先發射上游的下一個項目,然後在指定的超時時間過去後,定期發射最新的項目(如果有的話)。
也稱為 conflate:它是 throttleFirst 和 sample 的組合,頻繁的項目會被取樣,但採樣窗口之外的第一個項目會立即發射。
如果在這個超時階段,上游沒有發射任何項目,則會立即發射下一個上游項目,並且超時窗口從那時開始。
有多個重載可用,允許指定是否應在終止時發射最後一個項目(如果有的話)、要使用的排程器,以及用於丟棄項目的回呼。
throttleLatest
的一種變體,它以您選擇的週期時間間隔運作,方法是將 TimeUnit
和此類單位的數量作為參數傳遞給 throttleLatest
。
此 throttleLatest
的變體預設在 computation
排程器上運作,但您可以選擇將您選擇的排程器作為第三個參數傳入。
這個變體可以選擇在來源終止時發射最後一個項目(如果有的話)。
此 throttleLatest
的變體預設在 computation
排程器上運作,但您可以選擇將您選擇的排程器作為第三個參數傳入。