Bluebird NPM: Bluebird JS Belofte met voorbeeld

Wat is Bluebird JS?

Bluebird JS is een volledig uitgeruste Promise-bibliotheek voor JavaScript. Het sterkste kenmerk van Bluebird is dat je andere Node-modules kunt ‘beloven’ om ze op een bepaalde manier te gebruiken.syncronisch. Promisify is een concept dat wordt toegepast op callback-functies. Dit concept wordt gebruikt om ervoor te zorgen dat elke callback-functie die wordt aangeroepen een bepaalde waarde retourneert.

Dus als een NodeJS module bevat een callback-functie die geen waarde retourneert, en als we de knooppuntmodule beloven, worden alle functies in die specifieke knooppuntmodule automatisch aangepast om ervoor te zorgen dat deze een waarde retourneert.

Je kunt dus BlueBird gebruiken om de MongoDB modulerun asyncronisch. Dit voegt gewoon een extra niveau van gemak toe bij het schrijven van Node.js-applicaties.

We zullen een voorbeeld bekijken van hoe u de Bluebird-module kunt gebruiken.

In ons voorbeeld wordt eerst een verbinding tot stand gebracht met de “Employee collection” in de “EmployeeDB” database. Als de “toen”-verbinding tot stand is gebracht, worden alle records in de verzameling opgehaald en dienovereenkomstig in de console weergegeven.

Hoe u beloften kunt genereren met Bluebird JS Library

Hier is het stapsgewijze voorbeeld beloftes genereren met Bluebird JS-bibliotheek:

Stap 1) De NPM-modules installeren

Om Bluebird vanuit een Node-applicatie te gebruiken, is de Bluebird-module vereist. Om de Bluebird-module te installeren, voert u de onderstaande opdracht uit

npm installeer bluebird

Stap 2) Voeg Bluebird-modules toe

The next step is to include the bluebird module in your code and promisify the entire MongoDB module. By promisify, we mean that bluebird will ensure that each and every method defined in the MongoDB library returns a promise.

Genereer beloftes met Bluebird JS Library

Code-uitleg: -

  1. De opdracht require wordt gebruikt om de Bluebird-bibliotheek op te nemen.
  2. Gebruik de .promisifyAll() -methode van Bluebird om een ​​async version of every method the MongoDB module provides. This ensures that each method of the MongoDB module will run in the background and ensure that a promise is returned for each method call in the MongoDB bibliotheek.

Stap 3) Maak verbinding met de database

De laatste stap is om verbinding te maken met onze database, alle records in onze verzameling op te halen en ze weer te geven in ons consolelogboek.

Genereer beloftes met Bluebird JS Library

Code-uitleg: -

  1. U zult merken dat we de “connectAsync”-methode in plaats van de normale verbindingsmethode om verbinding te maken met de databank. Bluebird voegt eigenlijk de Async keyword to each method in the MongoDB library to distinguish those calls which return promises and those which don’t. So there is no guarantee that methods without the Async woord retourneert een waarde.
  2. Vergelijkbaar met de connectAsync methode gebruiken we nu de findAsync method to return all of the records in the mongoDB ‘Employee’ collection.
  3. Tenslotte, als de findAsync retourneert een succesvolle belofte. Vervolgens definiëren we een codeblok om elke record in de verzameling te doorlopen en weer te geven in het consolelogboek.

Als de bovenstaande stappen correct worden uitgevoerd, worden alle documenten in de werknemerscollectie weergegeven in de console, zoals weergegeven in de onderstaande uitvoer.

Genereer beloftes met Bluebird JS Library

Hier is de code ter referentie:

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);
        })
    });