Spotkałem się z sytuacjami, w których być może z powodu złego połączenia, w którym nie ma odpowiedzi z interfejsu API, w którym pomija zarówno .then, jak i .catch. Jaka jest najlepsza praktyka w zakresie obsługi błędów w takim przypadku? Chciałbym ustawić ostrzeżenie, jeśli nie ma żadnej odpowiedzi.
const getPic () => {
axios({
url: '/users/avatar',
method: 'GET',
headers: {
'Authorization': "Bearer " + token,
},
data: {avatar: avatarUrl},
responseType: 'blob',
}).then((response) => {
log(response);
let blob = URL.createObjectURL(response.data)
localStorage.setItem('image', blob);
}.catch(error) {
console.log(error)
}
}
0
scotth527
20 listopad 2019, 05:50
1 odpowiedź
Powinieneś ustawić timeout
, co spowoduje odrzucenie obietnicy w przypadku braku odpowiedzi.
axios({
url: '/users/avatar',
method: 'GET',
headers: {
'Authorization': "Bearer " + token,
},
timeout: 1000,
data: {avatar: avatarUrl},
responseType: 'blob',
})
~``
0
coagmano
20 listopad 2019, 05:56