Bluebird NPM: Obietnica Bluebird JS z przykładem

Co to jest Bluebird JS?

Bluebird JS to w pełni funkcjonalna biblioteka Promise dla JavaSkrypt. Najmocniejszą cechą Bluebird jest to, że pozwala on na „promisify” innych modułów Node, aby używać ich asynchronicznie. Promisify to koncepcja stosowana do funkcji wywołania zwrotnego. Ta koncepcja jest używana, aby zapewnić, że każda wywołana funkcja wywołania zwrotnego zwraca jakąś wartość.

Więc jeśli NodeJS moduł zawiera funkcję wywołania zwrotnego, która nie zwraca wartości, a jeśli obiecujemy moduł węzła, wszystkie funkcje w tym konkretnym module węzła zostaną automatycznie zmodyfikowane, aby zapewnić zwrócenie wartości.

Możesz więc użyć BlueBird do wykonania MongoDB moduł uruchamiany asynchronicznie. To po prostu dodaje kolejny poziom łatwości podczas pisania aplikacji Node.js.

Przyjrzymy się przykładowi wykorzystania modułu bluebird.

Nasz przykład najpierw nawiąże połączenie z „kolekcją Pracowników” w bazie danych „EmployeeDB”. Jeśli połączenie „wtedy” zostanie nawiązane, pobierze wszystkie rekordy z kolekcji i odpowiednio wyświetli je w konsoli.

Jak generować obietnice za pomocą biblioteki Bluebird JS

Oto przykład krok po kroku generować obietnice z biblioteką Bluebird JS:

Krok 1) Instalacja modułów NPM

Aby korzystać z Bluebird z poziomu aplikacji Node, wymagany jest moduł Bluebird. Aby zainstalować moduł Bluebird, uruchom poniższe polecenie

npm zainstaluj bluebirda

Krok 2) Dołącz moduły Bluebird

Następnym krokiem jest włączenie modułu bluebird do swojego kodu i obiecanie całości MongoDB moduł. Przez promisify rozumiemy, że bluebird zapewni, że każda metoda zdefiniowana w MongoDB biblioteka spełnia obietnicę.

Generuj obietnice za pomocą biblioteki Bluebird JS

Wyjaśnienie kodu: -

  1. Polecenie require służy do dołączania biblioteki Bluebird.
  2. Użyj metody .promisifyAll() programu Bluebird, aby utworzyć asynchroniczną wersję każdej metody MongoDB zapewnia moduł. Dzięki temu każda metoda MongoDB moduł będzie działał w tle i zapewni zwrócenie obietnicy dla każdego wywołania metody w pliku MongoDB biblioteka.

Krok 3) Połącz się z bazą danych

Ostatnim krokiem jest połączenie się z naszą bazą danych, pobranie wszystkich rekordów z naszej kolekcji i wyświetlenie ich w dzienniku konsoli.

Generuj obietnice za pomocą biblioteki Bluebird JS

Wyjaśnienie kodu: -

  1. Zauważysz, że do nawiązania połączenia z serwerem używamy metody „connectAsync” zamiast zwykłej metody połączenia. baza danych.Bluebird faktycznie dodaje słowo kluczowe Async do każdej metody w MongoDB biblioteka rozróżniająca te wywołania, które zwracają obietnice, i te, które tego nie robią. Nie ma więc gwarancji, że metody bez słowa Async zwrócą wartość.
  2. Podobnie do metody connectAsync używamy teraz metody findAsync w celu zwrócenia wszystkich rekordów w kolekcji „Employee” bazy danych mongoDB.
  3. Na koniec, jeśli findAsync zwróci pomyślną obietnicę, definiujemy blok kodu, który przechodzi przez każdy rekord w kolekcji i wyświetla je w dzienniku konsoli.

Jeśli powyższe kroki zostaną wykonane prawidłowo, wszystkie dokumenty w kolekcji Pracownicy zostaną wyświetlone w konsoli, jak pokazano na poniższym wyjściu.

Generuj obietnice za pomocą biblioteki Bluebird JS

Oto kod w celach informacyjnych:

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