我正在尝试学习 RxJava2,并将我的 AsyncTasks 转换为 Observables。
我有以下要转换的代码。
if(asyncTask.getStatus() == AsyncTask.Status.RUNNING){
asyncTask.cancel();
}
asyncTask = new CustomTask();
asyncTask.execute(input);
我尝试使用 Disposables 重新创建以下内容。
Disposable currentTask;
PublishSubject input = PublishSubject.create();
对于每个输入
if(currentTask != null) currentTask.dispose();
currentTask = input
.map(// Network calls
// returns CustomObject)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(result -> {
// do work with result
}, throwable -> Log.e(TAG, throwable.toString()));
但是,currentTask
始终为null。为什么?这是错误的方法吗?