Я работаю над услугой «Угловая 2», возвращающей данные из резервного сервера WebApi.Обработка ошибок в Angular2
Я пытаюсь сделать это изящно обрабатывать сервис, который не доступен, однако я получаю неожиданную информацию об ошибках.
Вот код
update(fund, transactionId:string, showToastOnError: boolean, useCorrectUrl: boolean) {
let options = this.getStartCall();
options.headers.append("transaction-id", transactionId)
let url = fundsUrl + (useCorrectUrl ? "" : "breakTheUrl");
return this._http.put(url, JSON.stringify(fund), options)
.map(res => res.json())
//.retry(5)
.catch(errorResponse => {
let res = <Response>errorResponse;
let err = res.json();
let emsg = err ?
(err.error ? err.error : JSON.stringify(err)) :
(res.statusText || 'unknown error');
this._logger.log(emsg, "The fund was not updated", LogLevel.Error, showToastOnError);
return Observable.throw(emsg);
})
.finally(() => this._spinnerService.hide());
}
Когда я смотрю на сетевом трафике, я вижу ошибку 404, как ожидалось.
Моя проблема в моей функции catch.
Вот значение х я вижу:
JSON.stringify(errorResponse)
{"_body":{"isTrusted":true},"status":200,"statusText":"Ok","headers":{},"type":3,"url":null}"
errorResponse.json()
bubbles: false
cancelBubble: false
cancelable: false
currentTarget: XMLHttpRequest
defaultPrevented: false
eventPhase: 2
isTrusted: true
isTrusted: true
lengthComputable: false
loaded: 0
path: Array[0]
position: 0
returnValue: true
srcElement: XMLHttpRequest
target: XMLHttpRequest
timeStamp: 1460990458693
total: 0
totalSize: 0
type: "error"
__proto__: XMLHttpRequestProgressEvent
Могу ли я сделать что-то здесь не так, или это ошибка в Angular2 бета 15?
Благодарим вас за отзыв. Похоже, проблема связана с нашей базой данных WebApi. Я изменил URL-адрес на тот же, что и ваш, и вдруг я получил правильные коды ошибок. – Mark
Добро пожаловать! Странно, что вы видите код состояния 404 в сетевой трафике. Вы имеете в виду инструменты dev (вкладка сети)? –
Да, это должно быть что-то странное в WebApi. – Mark