TypeScript: определение типа ошибки из отклоненного ожидаемого обещания?Javascript

Форум по Javascript
Ответить Пред. темаСлед. тема
Anonymous
 TypeScript: определение типа ошибки из отклоненного ожидаемого обещания?

Сообщение Anonymous »

У меня есть методы API ( — один из примеров ниже), которые доставляют свои ответы с помощью API-интерфейса fetch через обещания, например:

Код: Выделить всё

export const handleResponse = async (response: Response, session?: Session): Promise => {
// check for error response
if (!response.ok) {
if ([401, 403].includes(response.status) && session?.auth) {
session?.logout();
}
return Promise.reject(response);
}
return response;
}

export const login = async (username: string, password: string) => {
const response = await fetch("/auth/login", {
method: "POST",
body: JSON.stringify({ username, password })
});

return (await handleResponse(response));
}
Я вызываю эти методы, используя синтаксис await:

Код: Выделить всё

try {
const response = await API.client.login(username, password);
console.log(await response.json());
// handle response
} catch (error) {
console.log(await error.json());
// handle error
}
Однако TypeScript не распознает тип параметра ошибки, что приводит к его типу как неизвестному. Это требует от меня использования какого-либо утверждения типа для доступа к свойствам (например, метода .json()), что является неуклюжим.
Как это можно решить?

Подробнее здесь: https://stackoverflow.com/questions/793 ... ed-promise
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Javascript»