the completable class represents deferred response. completable observable can either indicate a successful completion or error.
class declaration
following is the declaration for io.reactivex.completable class −
public abstract class completable extends object implements completablesource
protocol
following is the sequential protocol that completable observable operates −
onsubscribe (onerror | oncomplete)?
completable example
create the following java program using any editor of your choice in, say, c:\> rxjava.
observabletester.java
import java.util.concurrent.timeunit; import io.reactivex.completable; import io.reactivex.disposables.disposable; import io.reactivex.observers.disposablecompletableobserver; import io.reactivex.schedulers.schedulers; public class observabletester { public static void main(string[] args) throws interruptedexception { //create an observer disposable disposable = completable.complete() .delay(2, timeunit.seconds, schedulers.io()) .subscribewith(new disposablecompletableobserver() { @override public void onerror(throwable e) { e.printstacktrace(); } @override public void onstart() { system.out.println("started!"); } @override public void oncomplete() { system.out.println("done!"); } }); thread.sleep(3000); //start observing disposable.dispose(); } }
verify the result
compile the class using javac compiler as follows −
c:\rxjava>javac observabletester.java
now run the observabletester as follows −
c:\rxjava>java observabletester
it should produce the following output −
started! done!