1
我在Angular 4中有一個可觀察的事件,它觀察輸入,並在檢測到URL時調用啓動xhr請求的服務。Angular 4.在XHR請求中的錯誤停止鏈接的可觀察
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));
當XHR返回一個200的可觀察的投入繼續工作,我可以可以寫其他網址的輸入,但是當返回一個錯誤的可觀察輸入的停止工作的,如果我寫的輸入中的某些內容不會再次通過observable。
任何想法爲什麼在請求中拋出的錯誤和在訂閱中捕獲的錯誤可能會破壞輸入的可觀察性以及何時成功否?
我用一個catch來處理錯誤,重試,重新suscribe和我有期望的行爲。謝謝。 –