Je viens d'arriver avec une curiosité de promesses. Si je rejette directement dans une chaîne, je peux attraper la variable plus tard.Le rejet de la promesse n'est pas répercuté sur la capture, s'il est stocké dans la variable
Si je rejette sur la variable, je ne peux pas attraper du tout. La promesse est toujours considérée comme résolue dans ce cas:
let proMISS = Promise.resolve();
proMISS.then(() => console.log('THEN 1'))
.then(() => Promise.reject())
.then(() => console.log('THEN 2'));
setTimeout(() => {
proMISS.catch(() => console.log('CATCH'));
}, 1000);
Cela fait en effet le travail: semble
let PROmiss = Promise.resolve()
.then(() => console.log('THEN 1'))
.then(() => Promise.reject())
.then(() => console.log('THEN 2'));
setTimeout(() => {
PROmiss.catch(() => console.log('CATCH'));
}, 1000);
Cela ne veut pas être déterministe