Buscando una explicación de por qué cuando se llama a una función dentro de un intento de captura sin prefijo en espera , se ignora
Ejemplo:
async function foo() { try { return bar() } catch(e) { throw new Error('never see this') } } async function bar() { throw new Error('only see this') } foo().then()Al agregar await , alcanza catch :
async function foo() { try { return await bar() } catch(e) { throw new Error('now this works') } } async function bar() { throw new Error('foo') } foo().then()Lo extraño es que cuando se llama a una función que no es asíncrona , el intento de captura funciona sin problemas:
async function foo() { try { return bar() } catch(e) { throw new Error('now this works') } } function bar() { throw new Error('foo') } foo().then()