Может кто-нибудь объяснить, почему я могу отлавливать ошибки в функции async
, но если я использую ее в секунду async
, ошибки функции не обнаруживаются?
const axios = function axios(text) {
return new Promise((resolve, reject) => {
reject(new Error(`Error from ${text}`));
});
}
const firstPromise = async function firstPromise() {
try {
return await axios('first Promise');
} catch(e) {
console.log(e); // Error from first promise, as expected
}
};
const secondPromise = function firstPromise() {
return axios('second Promise')
.then(res => resolve(res))
.catch((e) => {
console.log(e); // Error from second promise, as expected
});
};
async function lastPromise() {
try {
console.log(await firstPromise()); // undefined, why not caught ?
console.log(await secondPromise());
} catch(e) {
console.log(e); // error from second promise, as expected
}
};
lastPromise();