Bluebird NPM : promesse Bluebird JS avec exemple
Quโest-ce que Bluebird JS ?
Bluebird JS est une bibliothรจque Promise complรจte pour JavaScript. La fonctionnalitรฉ la plus puissante de Bluebird est qu'il permet de ยซ promettre ยป d'autres modules Node afin de les utiliser de maniรจre asynchrone. Promisify est un concept appliquรฉ aux fonctions de rappel. Ce concept est utilisรฉ pour garantir que chaque fonction de rappel appelรฉe renvoie une valeur.
Donc si un NodeJS module contient une fonction de rappel qui ne renvoie pas de valeur, et si nous promettons le module de nลud, toutes les fonctions de ce module de nลud spรฉcifique seraient automatiquement modifiรฉes pour garantir qu'il renvoie une valeur.
Vous pouvez donc utiliser BlueBird pour crรฉer le MongoDB le module sโexรฉcute de maniรจre asynchrone. Cela ajoute simplement un autre niveau de facilitรฉ lors de l'รฉcriture d'applications Node.js.
Nous examinerons un exemple d'utilisation du module bluebird.
Notre exemple va dโabord รฉtablir une connexion ร la ยซ Collection Employee ยป dans la base de donnรฉes ยซ EmployeeDB ยป. Si la connexion ยซ alors ยป est รฉtablie, elle obtiendra alors tous les enregistrements de la collection et les affichera dans la console en consรฉquence.
Comment gรฉnรฉrer des promesses avec la bibliothรจque Bluebird JS
Voici l'exemple รฉtape par รฉtape pour gรฉnรฉrer des promesses avec la bibliothรจque Bluebird JS :
รtape 1) Installation des modules NPM
Pour utiliser Bluebird depuis une application Node, le module Bluebird est requis. Pour installer le module Bluebird, exรฉcutez la commande ci-dessous
npm installer bluebird
รtape 2) Inclure les modules Bluebird
L'รฉtape suivante consiste ร inclure le module bluebird dans votre code et ร promettre l'intรฉgralitรฉ de MongoDB module. Par promis, nous entendons que bluebird veillera ร ce que chaque mรฉthode dรฉfinie dans le MongoDB la bibliothรจque renvoie une promesse.
Explication du code : -
- La commande require est utilisรฉe pour inclure la bibliothรจque Bluebird.
- Utilisez la mรฉthode .promisifyAll() de Bluebird pour crรฉer une version asynchrone de chaque mรฉthode MongoDB module fournit. Cela garantit que chaque mรฉthode du MongoDB Le module s'exรฉcutera en arriรจre-plan et garantira qu'une promesse est renvoyรฉe pour chaque appel de mรฉthode dans le MongoDB bibliothรจque.
รtape 3) Connectez-vous ร la base de donnรฉes
La derniรจre รฉtape consiste ร se connecter ร notre base de donnรฉes, ร rรฉcupรฉrer tous les enregistrements de notre collection et ร les afficher dans le journal de notre console.
Explication du code : -
- Vous remarquerez que nous utilisons la mรฉthode ยซ connectAsync ยป au lieu de la mรฉthode de connexion normale pour se connecter au base de donnรฉes. Bluebird ajoute en fait le mot-clรฉ Async ร chaque mรฉthode dans le MongoDB bibliothรจque permettant de distinguer les appels qui renvoient des promesses et ceux qui n'en renvoient pas. Il n'y a donc aucune garantie que les mรฉthodes sans le mot Async renvoient une valeur.
- Semblable ร la mรฉthode connectAsync, nous utilisons dรฉsormais la mรฉthode findAsync pour renvoyer tous les enregistrements de la collection mongoDB 'Employee'.
- Enfin, si findAsync renvoie une promesse rรฉussie, nous dรฉfinissons ensuite un bloc de code pour parcourir chaque enregistrement de la collection et les afficher dans le journal de la console.
Si les รฉtapes ci-dessus sont effectuรฉes correctement, tous les documents de la collection Employee seront affichรฉs dans la console, comme indiquรฉ dans le rรฉsultat ci-dessous.
Voici le code pour votre rรฉfรฉrence:
var Promise = require('bluebird');
var mongoClient = Promise.promisifyAll(require('mongodb')).MongoClient;
var url = 'mongodb://localhost/EmployeeDB';
mongoClient.connectAsync('mongodb://localhost/EmployeeDB')
.then(function(db) {
return db.collection('Employee').findAsync({})
})
.then(function(cursor) {
cursor.each(function(err, doc) {
console.log(doc);
})
});



