[英]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.