Как получать ошибки при загрузке файла с помощью axios

#javascript #reactjs #rest #axios

#язык JavaScript #реагирует на #остальное #аксиос

Вопрос:

Мой код:

клиент отдыха:

 return axios.get(url, {  responseType: 'arraybuffer' });  

обработка ответа:

 const link = document.createElement('a');  link.href = window.URL.createObjectURL(new Blob([response.data]));  link.target = "_blank";   link.click();  

хорошо работает, если на стороне сервера нет ошибок. Однако, когда в API сервера возникает ошибка, я не получаю никаких подробностей об этом из-за типа ответа arraybuffer .

 .catch((error) =gt; {  dispatch(showError("An Error Occured", error)); //error does not contain the expected details  });  

Я попытался не устанавливать тип arraybuffer, вместо этого используя TextDecoder, однако результирующий pdf, похоже, поврежден (пустое отображение).

Как я могу изменить существующую настройку, чтобы иметь возможность получать подробную информацию в случае возникновения ошибки?

Изменить: Решение: Хорошо, я понял, я могу расшифровать информацию об ошибке из error.data:

 var data:any = JSON.parse(new TextDecoder().decode(error.data));  

а затем используйте код ошибки и сообщение.

Комментарии:

1. я думаю, у вас есть проблема с пустым массивом в результате? так что это просто !!! не загружайте файл, когда результат []