Bluebird NPM: Bluebird JS obećanje s primjerom

Što je Bluebird JS?

Bluebird JS je potpuno opremljena biblioteka Promise za JavaSkripta. Najjača značajka Bluebirda je ta što vam omogućuje da "obećavate" druge module čvora kako biste ih koristili asinkrono. Promisify je koncept primijenjen na funkcije povratnog poziva. Ovaj se koncept koristi kako bi se osiguralo da svaka funkcija povratnog poziva koja je pozvana vraća neku vrijednost.

Pa ako a NodeJS modul sadrži funkciju povratnog poziva koja ne vraća vrijednost, a ako obećamo modul čvora, sve funkcije u tom specifičnom modulu čvora automatski će se modificirati kako bi se osiguralo da vraća vrijednost.

Dakle, možete koristiti BlueBird za izradu MongoDB modul radi asinkrono. Ovo samo dodaje novu razinu lakoće pri pisanju Node.js aplikacija.

Pogledat ćemo primjer kako koristiti bluebird modul.

Naš primjer prvo će uspostaviti vezu s "zbirkom zaposlenika" u bazi podataka "zaposlenika". Ako se uspostavi "tada" veza, tada će dobiti sve zapise u zbirci i prikazati ih na konzoli u skladu s tim.

Kako generirati obećanja pomoću Bluebird JS biblioteke

Evo primjera korak po korak generirati obećanja s bibliotekom Bluebird JS:

Korak 1) Instaliranje NPM modula

Za korištenje Bluebird-a unutar aplikacije Node potreban je modul Bluebird. Da biste instalirali Bluebird modul, pokrenite donju naredbu

npm instalirajte bluebird

Korak 2) Uključite Bluebird module

Sljedeći korak je uključiti bluebird modul u svoj kod i obećati cijeli MongoDB modul. Pod obećanjem mislimo da će bluebird osigurati da svaka metoda definirana u MongoDB knjižnica vraća obećanje.

Generirajte obećanja s bibliotekom Bluebird JS

Objašnjenje koda:-

  1. Naredba require koristi se za uključivanje biblioteke Bluebird.
  2. Koristite Bluebirdovu metodu .promisifyAll() za stvaranje asinkrone verzije svake metode MongoDB modul pruža. Ovo osigurava da svaka metoda MongoDB modul će raditi u pozadini i osigurati vraćanje obećanja za svaki poziv metode u MongoDB knjižnica.

Korak 3) Povežite se s bazom podataka

Posljednji korak je povezivanje s našom bazom podataka, dohvaćanje svih zapisa u našoj zbirci i njihovo prikazivanje u našem dnevniku konzole.

Generirajte obećanja s bibliotekom Bluebird JS

Objašnjenje koda:-

  1. Primijetit ćete da koristimo metodu "connectAsync" umjesto uobičajene metode povezivanja za povezivanje na baza podataka. Bluebird zapravo dodaje ključnu riječ Async svakoj metodi u MongoDB knjižnica za razlikovanje onih poziva koji vraćaju obećanja i onih koji ne. Stoga nema jamstva da će metode bez riječi Async vratiti vrijednost.
  2. Slično metodi connectAsync, sada koristimo metodu findAsync za vraćanje svih zapisa u kolekciji 'Zaposlenik' mongoDB-a.
  3. Konačno, ako findAsync vrati uspješno obećanje, tada definiramo blok koda za ponavljanje kroz svaki zapis u kolekciji i njihov prikaz u zapisniku konzole.

Ako su gornji koraci ispravno provedeni, svi dokumenti u zbirci zaposlenika bit će prikazani na konzoli kao što je prikazano u donjem izlazu.

Generirajte obećanja s bibliotekom Bluebird JS

Evo koda za vašu referencu:

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