Je suis nouveau dans les promesses et il y a quelque chose que je ne comprends pas. J'aimerais vous demander de l'aide. :
Le code est le suivant. Ma question est de savoir pourquoi j'ai écrit à la main une erreur non définie dans le minuteur, ce qui amènera la console à signaler directement une erreur, au lieu de dire le rejet et de produire 2 ? Et si je rejette directement (), contrôlez. La station ne signalera pas d'erreur et il est normal que l'écriture manuscrite soit effectuée en dehors du minuteur plutôt qu'à l'intérieur de celui-ci. (Ici b est une variable non définie)
var p = new Promise(function(resolve, reject) {
setTimeout(function () {
b++;
},1000);
//b++;
});
p.then(function(){
console.log(1);
},function(){
console.log(2);
});
Selon ce qui précède, la console signale une erreur.
Et selon ce qui suit, le rejet sera capturé et sorti 2
var p = new Promise(function(resolve, reject) {
b++;
});
p.then(function(){
console.log(1);
},function(){
console.log(2);
});
Parce que l'erreur b++ est dans la fonction setTimeout, pas dans la fonction promise.