Erreur non capturée (dans la promesse) lors du rejet d'une promesse à l'aide de setTimeout() en JavaScript
P粉139351297
2023-09-05 17:39:46
<p>J'apprends les promesses en JavaScript et j'ai décidé d'implémenter une promesse simple dans laquelle je définirais un délai d'attente de 3 secondes, puis rejetterais la promesse. Après l'avoir rejeté, j'attrape l'erreur et l'affiche dans un élément HTML. La promesse fonctionne parfaitement et affiche le message, mais j'obtiens l'erreur suivante dans la console. </p>
<pre class="brush:php;toolbar:false;">Non capturé (promis) Je te déteste
Promesse.then (asynchrone)
(anonyme)</pre>
<p>Voici le code pour votre référence -</p>
<p>
<pre class="snippet-code-js lang-js Prettyprint-override"><code>const myPromise = new Promise(function(myResolve, rejet) {
setTimeout(() => {
rejeter('Je te déteste');
}, 3000);
});
maPromesse.then(fonction(valeur) {
document.getElementById("demo").innerHTML = valeur;
});
maPromesse.catch( erreur => {
console.log("L'attraper");
document.getElementById("demo").innerHTML = erreur;
});</code></pre>
<pre class="snippet-code-html lang-html Prettyprint-override"><code><h2>Promesse JavaScript</h2>
<p>Attendez 3 secondes (3 000 millisecondes) pour que cette page change.</p>
<h1 id="demo"></h1></code></pre>
</p>
<p>S'il vous plaît, aidez-moi à comprendre l'erreur que je fais. </p>
Cela devrait fonctionner
Vous devez détecter l'erreur après .then