0

我正在尝试学习 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;
}
4

0 回答 0