Używam Retrofit 2.0 i Rx-android do ładowania moich interfejsów API. Postępuję zgodnie z sekcją RxJava Integration with CallAdapter
pod this site i działa dobrze. Ale nie wiem, jak anulować żądanie ładowania z obserwowalnym obiektem. Pomóż mi dać mi pomysł.Jak anulować żądanie za pomocą retofit2 i RxAndroid
6
A
Odpowiedz
17
Jedyny sposób, aby anulować zauważalne wykonanie RxJava - wypisz się z niego. RxJavaCallAdapter deleguje anulowanie do klienta okhttp.
Więc prosty coś zrobić tak:
Subscription subscription = getObservable().subscribe();
//When you want to stop execution
subscription.unsubsribe();
Możesz sprawdzić kod here. Dokładniej te linie, jeśli kod
Powiązane problemy
- 1. Jak anulować żądanie http
- 2. Jak anulować/anulować żądanie jQuery AJAX?
- 3. Jak anulować żądanie w BeforeSendRequest
- 4. Jak mogę anulować żądanie Ajax?
- 5. Jak anulować/przerwać żądanie ajax w axios
- 6. Jak zaktualizować UI z usługi Android za pomocą RxJava/RxAndroid
- 7. Facebook API - Jak anulować żądanie wykresu
- 8. Proguard i RxAndroid V1.1.0
- 9. Jak anulować zadanie z modernizacją i rxjava
- 10. Żądanie POST za pomocą RCurl
- 11. Jak wykonać żądanie synchroniczne za pomocą Alamofire?
- 12. Jak wysłać żądanie HTTP za pomocą Telnet
- 13. Jak wysłać żądanie HEAD za pomocą HtmlUnit?
- 14. Jak anulować zadanie asynchroniczne za pomocą żądania internetowego?
- 15. Jak anulować bieżące żądanie w przechwytujących - kątowe 4
- 16. W jaki sposób pobrać treść odpowiedzi za pomocą RxAndroid i Retrofit 2?
- 17. Wysyłaj żądanie HTTP i odbieraj odpowiedź HTTP za pomocą javascript
- 18. Żądanie przełączania i odpowiedź za pomocą klawiatury w SOAPUI
- 19. Ogólne żądanie POST za pomocą Microsoft.HttpClient i HttpContentExtensions
- 20. żądanie ARP i odpowiadanie za pomocą c gniazdo programowania
- 21. Utwórz żądanie uwierzytelnienia SAML za pomocą WIF
- 22. Jak mogę anulować długo działającą kwerendę za pomocą Spring i JDBCTemplate?
- 23. Żądanie HTTP node.js za pomocą "żądania" mikeal
- 24. Wyślij żądanie HTTP ręcznie za pomocą gniazda
- 25. XML POST REST Żądanie za pomocą Pythona
- 26. Żądanie Facebook Graph za pomocą Swift3 -
- 27. Jak wysłać żądanie POST wieloczęściowe za pomocą HttpURLConnection w java?
- 28. Jak symulować żądanie wpisu HTTP za pomocą modułu zapytań Python?
- 29. Android MVP z RxAndroid + Retrofit
- 30. Jak wyeksportować konkretne żądanie do pliku za pomocą listonosza
Po prostu przetestować "unsubsribe()" i zobaczyć, że działa. Subskrybent nie będzie już wywoływany. Ale dlaczego okhttp continue drukuje log przez długi czas. Jak mogę sprawdzić, czy okhttp zostanie anulowane? –
Sprawdziłem też, działa, simpli drukuje GET i END GET. Ale oczywiście żadna prośba nie mogła zostać powstrzymana. Może być w tym przypadku. Ale nadal jest to jedyny sposób, aby anulować żądanie i jest to absolutnie to samo, aby anulować anulowanie połączenia. Możesz to sprawdzić umieszczając breakpoint na call.cancel(); na przykład –
Dziękuję, Wasilow. Ponieważ jest to tylko sposób, użyję go, dopóki nie znajdę lepszego rozwiązania. –