Я изо всех сил пытаюсь выяснить, как определить время ожидания запроса с помощью Angular http и обещаний. Я использую следующий код для форматирования ответа от моего API, и в настоящее время истекает время ожидания, которое я хочу обработать с сообщением об ошибке, код здесь работает, когда мой API возвращает фактическое сообщение об ошибке, просто оно даже не получает удар когда тайм-аут API.
Я не смог найти документацию по Angular http, в которой есть способ справиться с таймаутами, так что все будет полезно, спасибо!
Код:
/**
* GET from the API
* @param params What to send
* @param path Where to go
*/
public get(path, params): Promise<any> {
return this.formatResponse(
this.http.get(this.apiUrl + path, params)
);
}
/**
* Takes the API response and converts it to something usable
* @param response Promise of formatted data
*/
public formatResponse(response): Promise<any> {
return response
.toPromise()
.then(r => r.json().data)
.catch(e => {
console.log('hitting error');
const errors = e.json().errors;
let error = 'Something went wrong, please try again in a few minutes.';
if (errors && errors.length > 0) {
error = errors[0].message;
}
// Create alert
this.utilities.createAlert(
'Whoops!',
error
);
// Throw the error
throw new Error(error);
});
}
При мониторинге во вкладке сети вижу:
Не удалось загрузить ресурс: истекло время ожидания запроса.