2016-05-20 7 views
-1

После выхода из системы я хочу отменить все вызовы API, которые выполняются прямо сейчас. Так что я нашел способ сделать такretrofit2/OkHttp3 отменить все запросы API

httpClient.dispatcher().cancelAll(); 

Однако в callback side мне нужно знать, что этот запрос был отменен, чтобы не повторить его и не показывать сообщение об ошибке пользователю.
Но call.isCanceled() будет true если только call.cancel() был вызван.

ответ

0

мне удалось решить эту проблему с переходом к jxJava

сохраняет все мои Observable к CompositeSubscription и после использования compositeSubscription.unsubscribe();, чтобы избавиться от всех обратных вызовов

0

Dispatcher.cancelAll() просто звонит Call.cancel() для вас.

+0

Однако, чтобы сделать это, я должен хранить все мои исполнения звонки? –

+0

Нет, вам просто нужно сохранить ссылку на общий OkHttpClient. –

Смежные вопросы