Bluebird NPM: Bluebird JS lubadus koos näitega

Mis on Bluebird JS?

Bluebird JS on täisfunktsionaalne Promise teek JavaSkript. Bluebirdi tugevaim omadus on see, et see võimaldab teil "lubada" teisi Node mooduleid, et neid asünkroonselt kasutada. Promisify on kontseptsioon, mida rakendatakse tagasihelistamise funktsioonidele. Seda kontseptsiooni kasutatakse tagamaks, et iga tagasihelistamisfunktsioon, millele helistatakse, tagastab mingi väärtuse.

Nii et kui a NodeJS moodul sisaldab tagasihelistamisfunktsiooni, mis ei tagasta väärtust, ja kui me lubame sõlmemooduli, muudetakse kõiki selle konkreetse sõlme mooduli funktsioone automaatselt, et tagada väärtuse tagastamine.

Nii saate selle tegemiseks kasutada BlueBirdi MongoDB moodul töötab asünkroonselt. See lihtsalt lisab Node.js-i rakenduste kirjutamisel veel ühe lihtsuse taseme.

Vaatame sinilinnu mooduli kasutamise näidet.

Meie näide loob esmalt ühenduse "Töötajate kogu" andmebaasis "EmployeeDB". Kui luuakse ühendus "siis", hangib see kõik kogus olevad kirjed ja kuvab need vastavalt konsoolis.

Kuidas Bluebird JS raamatukoguga lubadusi luua

Siin on samm-sammult näide lubadusi genereerida Bluebird JS raamatukoguga:

1. samm) NPM-moodulite installimine

Bluebirdi kasutamiseks sõlmerakenduses on vaja Bluebirdi moodulit. Bluebirdi mooduli installimiseks käivitage allolev käsk

npm installi bluebird

Samm 2) Kaasake Bluebirdi moodulid

Järgmine samm on lisada oma koodi Bluebirdi moodul ja lubada kogu MongoDB moodul. Promisify all peame silmas seda, et bluebird tagab, et kõik meetodites määratletud meetodid MongoDB raamatukogu annab lubaduse.

Looge lubadusi Bluebird JS Library abil

Koodi selgitus: -

  1. Nõude käsku kasutatakse Bluebirdi teegi kaasamiseks.
  2. Kasutage Bluebirdi meetodit .promisifyAll(), et luua igast meetodist asünkroonitud versioon MongoDB moodul pakub. See tagab, et iga meetod MongoDB moodul töötab taustal ja tagab lubaduse tagastamise iga meetodi kutse puhul MongoDB raamatukogu.

Samm 3) Looge ühendus andmebaasiga

Viimane samm on meie andmebaasiga ühenduse loomine, kõigi meie kogus olevate kirjete toomine ja nende kuvamine meie konsooli logis.

Looge lubadusi Bluebird JS Library abil

Koodi selgitus: -

  1. Märkate, et me kasutame ühenduse loomiseks tavapärase ühendusmeetodi asemel meetodit "connectAsync". andmebaas. Bluebird lisab tegelikult igale meetodile Async märksõna MongoDB raamatukogu, et eristada kõnesid, mis annavad lubadusi, ja neid, mis mitte. Seega pole mingit garantiid, et ilma asünkroonita meetodid väärtuse tagastavad.
  2. Sarnaselt connectAsynci meetodile kasutame nüüd meetodit findAsync, et tagastada kõik mongoDB kogus „Töötaja” olevad kirjed.
  3. Lõpuks, kui findAsync tagastab eduka lubaduse, siis määratleme koodiploki, et itereerida kogu iga kirjet ja kuvada need konsooli logis.

Kui ülaltoodud toimingud on õigesti tehtud, kuvatakse kõik töötaja kogus olevad dokumendid konsoolis, nagu on näidatud allolevas väljundis.

Looge lubadusi Bluebird JS Library abil

Siin on teie viitekood:

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