Qu'est-ce qu'un objet de promesse en javascript

Qu'est-ce qu'un objet de promesse en javascript

En JavaScript, les objets Promise sont utilisés pour travailler avec les opérations asynchrones. Le concept de promesse peut sembler compliqué au début, mais en réalité, ils sont assez simples; Nous pouvons comprendre les promesses JavaScript en les comparant aux promesses du monde réel en utilisant les termes de Layman.

Dans la vie quotidienne, nous faisons des promesses de montrer notre engagement. De même en JavaScript, nous faisons un objet Promise lorsque nous devons nous engager à exécuter un bloc de code.

Par exemple, lorsque nous envoyons une demande pour récupérer les données d'une API via notre code, l'API prend du temps pour répondre. En attendant, l'interprète JavaScript se déplace sur le bloc de code suivant, mais nous voulons exécuter un morceau de code après l'accomplissement ou le rejet de la réponse. Maintenant, si nous utilisons l'objet Promise, nous pouvons exécuter la ligne de codes souhaitée sur l'accomplissement ou le rejet de la réponse de l'API.

Les objets JavaScript Promise peuvent avoir trois états différents I.E:

  • En attente
  • Réalisé
  • Rejeté

La promesse est en suspens lorsque le résultat de l'objet de promesse n'est pas défini; il est rempli lorsque le résultat a une valeur et rejeté lorsque le résultat est une erreur. Par exemple, dans l'exemple ci-dessus si nous avons envoyé la demande à l'API et attendons les données, la promesse est en attente. Si l'API envoie avec succès les données, la promesse est tenue et si le code ne peut pas se connecter avec l'API, la promesse a été rejetée.

Quelles sont les promesses en javascript

Comme mentionné ci-dessus, les opérations asynchrones en JavaScript sont traitées par des promesses. JavaScript asynchrone fait principalement référence aux fonctions qui s'exécutent en parallèle avec le programme principal.

Dans JavaScript, les événements et les fonctions de rappel ont été utilisés pour gérer l'opération asynchrone avant les promesses. Des promesses ont été ajoutées dans la version ES6 de JavaScript en 2015. Bien que les fonctions et les événements de rappel aient été utiles, ils avaient toujours leurs limites. L'enfer de rappel était le plus grand inconvénient de l'utilisation des fonctions de rappel.

Les promesses sont parfaites pour gérer les opérations asynchrones car elles peuvent gérer plusieurs opérations asynchrones et sont bien meilleures pour gérer les erreurs que les événements et les rappels.

Comment les promesses fonctionnent en JavaScript

Les fonctions asynchrones sont des fonctions qui s'exécutent parallèles au programme principal. Ces fonctions fonctionnent séparément du programme principal et informent le fil d'appel de leur succès, de leur échec ou de leur progression.

L'objet Promise en JavaScript a l'un des trois états:

  • En attente: c'est l'état de l'objet de promesse entre son initialisation et son achèvement.
  • Réalivé / résolu: c'est l'état qui indique que le fonctionnement de l'objet Promise a réussi.
  • Rejeté: c'est l'état qui indique que le fonctionnement de l'objet Promise a échoué.

Création d'un objet de promesse simple dans JavaScript

Ici, nous apprendrons à créer un objet de promesse en quelques étapes simples:

  1. Dans JavaScript, un objet Promise est créé à l'aide d'un constructeur "Nouvelle promesse ()". Ce constructeur prend une fonction de rappel avec deux arguments comme argument.
  2. Le code requis pour effectuer la tâche promis est écrit dans le corps de la fonction de rappel.
  3. Si la tâche est effectuée avec succès, la promesse est résolue / remplie; Sinon, la promesse est rejetée / insatisfaite.
  4. Il existe deux méthodes associées à l'objet Promise, la méthode alors () et la méthode catch (). Ces méthodes sont (respectivement) appelées si la promesse est résolue ou rejetée.

Note: La console du navigateur est utilisée pour la démonstration d'exemples dans cet article.

Les promesses JavaScript sont créées en utilisant le nouveau Constructeur Promise ():

const mypromise = new promest ();

La nouvelle promesse prend deux paramètres différents. L'un de ces paramètres est le succès (en cas de promesse est résolu) et l'autre est pour l'échec (en cas de promesse est rejeté):

const mypromise = new promest ((résoudre, rejeter) =>
// condition // condition
);

Enfin, nous définissons le corps de l'objet Promise. Nous lui donnons une condition qui ne sera remplie que si la promesse est résolue:

const mypromise = new promest ((résoudre, rejeter) =>
Soit condition = true;
if (condition)
résoudre («la promesse est résolue.');
autre
rejeter ('promesse est rejetée.');

);

Maintenant, apprenons à utiliser notre objet Promise nouvellement créé. Il ne peut y avoir que deux résultats finaux différents pour un objet Promise; il peut être soit une promesse résolue ou rejetée.

Ensuite () méthode : La méthode alors () définit ce qui se passera ensuite si une promesse est résolue.

ma promesse.alors();

Dans cet exemple, nous utilisons la méthode alors () pour enregistrer un message (que nous avons reçu de la promesse) à la console.

ma promesse.alors ((message) =>
console.log (message);
);

Méthode catch () : De même, la méthode catch () définit ce qui se passera ensuite si une promesse échoue.

ma promesse.alors ((message) =>
console.log (message);
).catch ((message) =>
console.log (message);
);

Il peut être écrit de deux manières différentes; séparément ou en combinaison avec la méthode alors (). Dans le cas où la promesse n'est pas satisfaite, elle exécutera la méthode Catch () et cette fois, un message différent sera affiché sur la console.

Conclusion

Les promesses en JavaScript sont des objets qui sont utilisés comme alternative des fonctions de rappel et des événements lors de la gestion des opérations asynchrones en JavaScript. Les promesses peuvent avoir trois états différents I.e. en attente, épanouie ou insatisfaite. Dans l'état en attente, l'objet Promise attend la valeur donc elle n'a aucune valeur. Dans l'état accompli, il a la valeur résolue et dans l'état non satisfait, il a la raison pour laquelle la promesse n'a pas été résolue. Ce message était un guide approfondi sur les objets de promesse en javascript.