簡體   English   中英

FutureCallback到可觀察的

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM