我不知道为什么这个程序不打印 . 我想要1秒钟打印字符串对象 . 所以我使用间隔 . 这个程序通常编译 . 但结果不打印 . 为什么?救命 . (我是韩国人 . 所以英语不成熟 . 对不起)
public class main {
public static void main(String[] args){
String str1 = "Apple";
String str2 = "Banana";
String str3 = "Boy";
ObservableSource tim = Observable.interval(3, TimeUnit.SECONDS);
ObservableSource ss = Observable.just(str1,str2,str3);
Observable.zip(tim,ss,new BiFunction() {
@Override
public String apply(Long t1, String t2) throws Exception {
System.out.println("ddd");
return t1+t2;
}
})
.subscribe(new DefaultObserver() {
@Override
public void onNext(String t) {
System.out.println(t);
}
@Override
public void onError(Throwable e) {
System.out.println("Error!!!");}
@Override
public void onComplete() {
System.out.println("Complete!!!");
}
});
}
}
1 回答
你的observable interval 它使你的管道从 sync 传递到 async ,所以它在另一个线程中运行,这就是为什么你看不到任何打印onNext或onComplete .
只是为了向你证明我的理论补充
订阅后 .
如果您正在学习RxJava,可以考虑看一下这个例子https://github.com/politrons/reactive