[英]RxJava Debounce method call received
我的意思是我想為方法調用做一個簡單的調整。 我有這種方法:
public void called(int number){
doSomething(number);
}
這種方法被稱為過於頻繁,我想創建一個可觀察的基礎上收到的數量和debounce
呼吁doSomething(number)
。
這可能嗎?
當然,像這樣-
PublishSubject<Integer> subject = PublishSubject.create();
subject
.debounce(1, TimeUnit.SECONDS)
.subscribe(new Action1<Integer>() {
public void call(Integer number) {
doSomething(number);
}
});
public void called(int number){
subject.onNext(number);
}
private void doSomeWork() {
getObservable().debounce(500, TimeUnit.MILLISECONDS)
// Run on a background thread
.subscribeOn(Schedulers.io())
// Be notified on the main thread
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getObserver());
}
private Observable<Integer> getObservable() {
return Observable.create(new ObservableOnSubscribe<Integer>() {
@Override
public void subscribe(ObservableEmitter<Integer> emitter) throws Exception {
doSomething(number);
}
});
}
這可能對您有幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.