Rx java e> 。这是下一个用户终止时的内部检查if(subscribers.get()=终止)返回。基本上,它告诉我们,它只是跳过已经处理好的订户。需要注意的一点是,不能同时调用onComplete()和onError()。选择一个,更多关于: // class

Rx java e> 。这是下一个用户终止时的内部检查if(subscribers.get()=终止)返回。基本上,它告诉我们,它只是跳过已经处理好的订户。需要注意的一点是,不能同时调用onComplete()和onError()。选择一个,更多关于: // class ,rx-java,rx-java2,publishsubject,Rx Java,Rx Java2,Publishsubject,e> 。这是下一个用户终止时的内部检查if(subscribers.get()=终止)返回。基本上,它告诉我们,它只是跳过已经处理好的订户。需要注意的一点是,不能同时调用onComplete()和onError()。选择一个,更多关于: // class member var myPublishSubject = PublishSubject.create<SomeObservable>() // later on in the class somewhere: while

e> 。这是下一个用户终止时的内部检查
if(subscribers.get()=终止)返回
。基本上,它告诉我们,它只是跳过已经处理好的订户。需要注意的一点是,不能同时调用
onComplete()
onError()
。选择一个,更多关于:
// class member
var myPublishSubject = PublishSubject.create<SomeObservable>()
// later on in the class somewhere:    
while(true){
   myPublishSubject.onNext(someObservable)
}
val maxEmittedItemCount = 10
var currentEmittedItemCount = 0
val someStringValue = "Some observable" // Create whatever observable you have
val publishSubject = PublishSubject.create<String>()

publishSubject.subscribe({
    currentEmittedItemCount++
    println(it)
}, {
    println(it)
})

while (currentEmittedItemCount != maxEmittedItemCount) {
    // Print indication that the loop is still running
    println("Still looping")

    // Publish value on the subject
    publishSubject.onNext(someStringValue)

    // Test flag for trigger
    if (currentEmittedItemCount == maxEmittedItemCount) publishSubject.onComplete()
}
lateinit var disposable: Disposable // Will hold reference to the subscription
var maxEmittedItemCount = 10
var currentEmittedItemCount = 0
var someStringValue = "Some observable" // Create whatever observable you have
var publishSubject = PublishSubject.create<String>()

disposable = publishSubject.subscribeWith(object : DisposableObserver<String>() {
    override fun onComplete() {
        // Print indication of completion for the subject publisher
        System.out.println("Complete")
    }

    override fun onNext(t: String) {
        // Test flag count synchonizer
        currentEmittedItemCount++

        // Print out current emitted item count
        System.out.println(currentEmittedItemCount)

        // Print current string
        System.out.println(t)
    }

    override fun onError(e: Throwable) {
        // Print error
        System.out.println(e)
    }
})

while (currentEmittedItemCount != maxEmittedItemCount) {
    // Publish value on the subject
    if (!disposable.isDisposed) publishSubject.onNext(someStringValue)

    // Test flag for trigger
    if (currentEmittedItemCount == maxEmittedItemCount) {
        publishSubject.onComplete() // optional if you need to invoke `onComplete()` block on the subject
        disposable.dispose()
    }

    // Print indication that the loop is still running
    System.out.println("Still looping")
}
PublishSubject<Integer> source = PublishSubject.create();

source.onNext(1);
source.onComplete();

source.subscribe(getObserver());
 source.subscribe(new Observer<Boolean>() {
                                        @Override
                                        public void onSubscribe(Disposable d) {

                                    }

                                    @Override
                                    public void onNext(Integer value) {

                                    }

                                    @Override
                                    public void onError(Throwable e) {

                                    }

                                    @Override
                                    public void onComplete() {
                                        source = PublishSubject.create();
                                    }
                                });