我正在尝试学习 RxJava2,但我有点迷失方向。我尝试从数据库中返回一个值,如下例所示:
// lastOrder - 全局变量
public Order getLastOrder() {
try {
Thread thread = new Thread(() -> lastOrder = ordersDao.getLastOrder());
thread.start();
thread.join(); //waiting for result
} catch (InterruptedException e) {
e.printStackTrace();
Log.d(TAG, "getLastOrderNefin: "+e.toString());
}
return lastOrder;
}
我尝试了一些可调用的东西,但我想我不明白这是如何工作的..
public Order getLastOrder() {
try {
Observable.fromCallable(new Callable<Order>() {
@Override
public Order call() {
lastOrder = ordersDao.getLastOrder();
return lastOrder;
}
}).subscribeOn(Schedulers.io())
.observeOn(Schedulers.io())
.subscribe();
} catch (Exception e) {
e.printStackTrace();
Log.d(TAG, "getLastOrderNefin: "+e.toString());
}
return lastOrder;
}