J'ai un observable dans Angular 4 qui observe une entrée et quand détecter un appel d'url un service qui lance une demande de xhr.Angulaire 4. Erreur dans la requête XHR arrête une observable chaînée
Observable.fromEvent(this._elementRef.nativeElement, 'input')
.debounceTime(500)
.map((res: any) => { return res.target.value })
.distinctUntilChanged()
.map((res: string) => String(res.match(this.regExpUrl)))
.distinctUntilChanged()
.filter(res => res ? true : false)
.switchMap(this.serviceThatReturnAObservableOfAXHRRequest))
.subscribe(response => console.log(response),
err => console.log(err));
Lorsque le XHR retour de 200 l'observable des entrées continuer à travailler et je peux être en mesure d'écrire d'autres url dans l'entrée, mais quand renvoie une erreur l'observable de l'entrée arrête de travailler et si j'écris certains dans l'entrée ne passent jamais à travers l'observable à nouveau.
Une idée pourquoi l'erreur lancée par la demande et attrapé dans l'abonnement pourrait être briser l'observable de l'entrée et quand est un succès non?
J'utilise une prise pour traiter l'erreur et une nouvelle tentative de re-et je l'ai Abonnez eu le comportement attendu. Merci. –