android java代码重用_Android RxJava线程重用,这是一个坏的做法吗?

我正在使用reformation和Rxjava来处理我的mvvm android应用程序的api调用。根据一些教程,我目前正在使用这样的RxJava。

视图模型.java

CompositeDisposable disposable = new CompositeDisposable();

private void fetchTodolist(){

loading.setValue(true);

disposable.add(

service.getToDoList("A1833")

.subscribeOn(Schedulers.newThread())

.observeOn(AndroidSchedulers.mainThread())

.subscribeWith(new DisposableSingleObserver>>() {

@Override

public void onSuccess(ApiResponse> value) {

if(value.getStatus() == 200){

//on call success code

} else {

//on call rejected code

}

}

@Override

public void onError(Throwable e) {

// on call error code

}

})

);

}

现在我想将成功调用的api调用的结果缓存到room数据库中。所以我需要使用另一个异步方法,并尝试重用之前创建的新线程。这是密码。

private void fetchTodolist(){

loading.setValue(true);

Scheduler a = Schedulers.newThread();

disposable.add(

service.getToDoList("A1833")

.subscribeOn(a)

.observeOn(AndroidSchedulers.mainThread())

.subscribeWith(new DisposableSingleObserver>>() {

@Override

public void onSuccess(ApiResponse> value) {

if(value.getStatus() == 200){

a.scheduleDirect(new Runnable() {

@Override

public void run() {

long inserted = dao.insert(value);

}

});

} else {

//on call rejected code

}

}

@Override

public void onError(Throwable e) {

// on call error code

}

})

);

}


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部