Как переделать на Promise?
Есть функция:
export async function login(email, password) {
try {
const { data } = await $host.post('api/auth/login', {
email,
password
})
localStorage.setItem('jwt', data.token)
return {
isSuccess: true,
payload: jwt_decode(data.token)
}
} catch (e) {
return {
isSuccess: false,
payload: e.response.data
}
}
}
и вызов этой функции:
data = await login(email, password)
Как правильно сделать это на Promise?
Ответы (1 шт):
Автор решения: Grundy
→ Ссылка
В данном случае переделать на Promise просто:
- все после
awaitперенести вthen - блок
catchперенести в.catch
В итоге получится:
$host.post('api/auth/login', {
email,
password
}).then(({ data }) => {
localStorage.setItem('jwt', data.token)
return {
isSuccess: true,
payload: jwt_decode(data.token)
}
}).catch(e => {
return {
isSuccess: false,
payload: e.response.data
}
})