Promesa de rechazo () provoca la advertencia "No capturado (en promesa)"
Una vez una promesareject()
se llama a la devolución de llamada, un mensaje de advertencia"Sin atrapar (en promesa)" aparece en la consola de Chrome. No puedo entender la razón detrás de esto, ni cómo deshacerme de él.
var p = new Promise((resolve, reject) => {
setTimeout(() => {
var isItFulfilled = false
isItFulfilled ? resolve('!Resolved') : reject('!Rejected')
}, 1000)
})
p.then(result => console.log(result))
p.catch(error => console.log(error))
Advertencia:
Editar:
Descubrí que si elonRejected
el controlador no se proporciona explícitamente al.then(onResolved, onRejected)
método, JS proporcionará automáticamente uno implícito. Se parece a esto:(err) => throw err
. El controlador generado automáticamente lanzará su turno.
Referencia:
If IsCallable (onRejected) `esfalso, luego
DejaronRejected ser "Lanzador".
http://www.ecma-international.org/ecma-262/6.0/index.html#sec-performpromisethen