Press "Enter" to skip to content

Dois-je revenir après avoir rejeté la promesse ?

Lorsqu'une promesse est remplie ou rejetée, elle restera dans cet état indéfiniment (réglée). Ainsi, rejeter une promesse tenue ou tenir une promesse rejetée n'aura aucun effet. Cet exemple d'extrait montre que bien que la promesse ait été tenue après avoir été rejetée, elle est restée rejetée.

Q. Que se passe-t-il si vous attendez une Promesse rejetée ?

Si la promesse est rejetée, l'expression await renvoie la valeur rejetée. Un flux d'exécution en attente divise, permettant à l'appelant de la fonction asynchrone de reprendre l'exécution. Une fois que l'attente a différé la poursuite de la fonction asynchrone, l'exécution des instructions suivantes s'ensuit.

Q. Quand utiliser une promesse dans une fonction asynchrone ?

Si vous ne renvoyez pas explicitement une promesse, la valeur que vous renvoyez sera automatiquement enveloppée dans une promesse. fonction asynchrone incrément(num) { return num + 1 ; } // Même si vous avez renvoyé un nombre, la valeur est // automatiquement enveloppée dans une promesse, donc nous appelons // `then` dessus pour accéder à la valeur renvoyée.

Q. Comment rejeter dans la syntaxe asynchrone/attente ?

Utilisez-le comme ceci dans ES7 et dans une fonction asynchrone : une meilleure façon d'écrire la fonction asynchrone serait de renvoyer une promesse en attente depuis le début, puis de gérer à la fois les rejets et les résolutions dans le rappel de la promesse, plutôt que de simplement cracher un promesse rejetée par erreur. Exemple:

Q. Comment lever les erreurs des fonctions asynchrones en JavaScript ?

Les fonctions asynchrones et les méthodes asynchrones renvoient toujours une Promise, résolue ou rejetée. Vous devez attacher puis () et attraper (), quoi qu'il arrive. (Ou encapsulez la méthode dans try/catch ). Une promesse rejetée se propagera dans la pile à moins que vous ne l'attrapiez. En ce qui concerne le test, voici comment cela devrait être:

Q. Quand résoudre ou rejeter une promesse en JavaScript ?

Comme la fonction d'exécuteur doit gérer les opérations asynchrones, l'objet de promesse renvoyé doit être capable d'informer lorsque l'exécution a été démarrée, terminée (résolue) ou réajustée avec une erreur (rejetée). Un objet promesse a les propriétés internes suivantes : pending : initialement lorsque la fonction executor démarre l'exécution.