Hoi allemaal,
Ik heb problemen met een script waarin ik a.d.h.v. een Observable een web request af wil handelen. Vervolgens wil ik de stream splitsen (success/failure). Als leidraad heb ik dit voorbeeld gebruikt. Het verschil zit hem er in dat ik de stream na het splitsen niet meer wil mergen.
Ik gebruik RxPY 1.6.1 in combinatie met Python 2.7. Mijn code ziet er als volgt uit:
Wanneer de request faalt wordt er netjes failure! geprint. Echter wanneer de respone OK is, verschijnt er vervolgens geen success!.
Mijn eerste gedachte was dat request wellicht niet gemulticast kan worden. Dus heb ik publish() toegevoegd aan de Observable op rij 1. Vervolgens ook een request.connect() toegevoegd na het aanmaken van de subscriptions op rij 7. Dat heeft echter niet geholpen.
Wat mis ik nog?
Ik heb problemen met een script waarin ik a.d.h.v. een Observable een web request af wil handelen. Vervolgens wil ik de stream splitsen (success/failure). Als leidraad heb ik dit voorbeeld gebruikt. Het verschil zit hem er in dat ik de stream na het splitsen niet meer wil mergen.
Ik gebruik RxPY 1.6.1 in combinatie met Python 2.7. Mijn code ziet er als volgt uit:
Python:
1
2
3
4
5
6
| request = Observable.of(requests.get(self.URL, params=request_params)) request_success, request_failed = request.partition(lambda r: r.status_code == requests.codes.ok) request_failed.subscribe(lambda r: print_msg('failure!')) request_success.subscribe(lambda r: print_msg('success!')) |
Wanneer de request faalt wordt er netjes failure! geprint. Echter wanneer de respone OK is, verschijnt er vervolgens geen success!.
Mijn eerste gedachte was dat request wellicht niet gemulticast kan worden. Dus heb ik publish() toegevoegd aan de Observable op rij 1. Vervolgens ook een request.connect() toegevoegd na het aanmaken van de subscriptions op rij 7. Dat heeft echter niet geholpen.
Wat mis ik nog?