Objet d'erreur de promesse en JavaScript
Il est plus courant de passer à la fonction reject
non pas une chaîne d'erreur, mais un objet d'erreur :
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
reject(new Error('error in promise')); // objet d'erreur
}, 3000);
});
On peut également lever des objets d'erreur
avec throw - ce sera équivalent
à les passer dans reject :
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
throw new Error('error in promise'); // équivalent à reject
}, 3000);
});
Modifiez le code suivant conformément à ce qui a été appris :
let promise = new Promise(function(resolve, reject) {
setTimeout(function() {
let isError = false;
if (!isError) {
resolve('success');
} else {
reject('error');
}
}, 3000);
});