我对RxJava(以及一般的反应式编程)完全不熟悉。因此,我决定编写一个简单的程序来掌握一些基本概念。这是一个非常基本的程序,应该打印一个String值。不幸的是,它根本没有打印任何内容,甚至可以捕获一些错误。我试图调试它,但似乎整个事情都无法启动。
这可能是错的?任何帮助,将不胜感激。这就是代码:
public class Main {
public static void main(String[] args) {
checkForNewString();
}
public static Completable checkForNewString() {
return Completable.create(emitter -> {
captureString()
.doOnSuccess(s -> System.out.println(s))
.doOnError(throwable -> emitter.onError(new RuntimeException("Error")))
.subscribe();
})
.subscribeOn(Schedulers.newThread());
}
public static Single<String> captureString() {
return Single.create(emitter -> {
String test = generateString();
emitter.onSuccess(test);
});
}
public static String generateString() {
return "Test";
}
}
答案 0 :(得分:0)
原来我不需要那个Observable。这是代码:
public class Main {
public static void main(String[] args) {
checkForNewString();
}
public static void checkForNewString() {
captureString()
.doOnSuccess(s -> System.out.println(s))
.subscribe();
}
public static Single<String> captureString() {
return Single.create(emitter -> {
String test = generateString();
emitter.onSuccess(test);
});
}
public static String generateString() {
return "Test";
}
}