[英]FutureCallback to Observable
有没有办法从FutureCallback创建Observable? 我看到Observable.create已被弃用,而不是这样做的正确方法(如下)。
我正在转换
Observable.create(new Observable.OnSubscribe<HttpResponse>() {
@Override
public void call(Subscriber<? super HttpResponse> subscriber) {
getClient().execute(httpRequest, new FutureCallback<HttpResponse>() {
@Override
public void completed(HttpResponse response) {
subscriber.onNext(response);
subscriber.onCompleted();
}
@Override
public void failed(Exception ex) {
subscriber.onError(ex);
}
@Override
public void cancelled() {
subscriber.onError(new Exception());
}
});
}
})
使用其他create
重载 :
Observable.<Event>create(emitter -> {
Callback listener = new Callback() {
@Override
public void onEvent(Event e) {
emitter.onNext(e);
if (e.isLast()) {
emitter.onCompleted();
}
}
@Override
public void onFailure(Exception e) {
emitter.onError(e);
}
};
AutoCloseable c = api.someMethod(listener);
emitter.setCancellation(c::close);
}, BackpressureMode.BUFFER);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.