Bluebird NPM: обещание Bluebird JS с примером

Что такое Bluebird JS?

Bluebird JS — это полнофункциональная библиотека Promise для JavaСкрипт. Самая сильная особенность Bluebird в том, что он позволяет вам «обещать» другие модули Node, чтобы использовать их асинхронно. Promisify — это концепция, применяемая к функциям обратного вызова. Эта концепция используется для того, чтобы гарантировать, что каждая вызываемая функция обратного вызова возвращает некоторое значение.

Так что если NodeJS Модуль содержит функцию обратного вызова, которая не возвращает значение, и если мы промисифицируем модуль узла, все функции в этом конкретном модуле узла будут автоматически изменены, чтобы гарантировать, что он возвращает значение.

Таким образом, вы можете использовать BlueBird для создания MongoDB модуль работает асинхронно. Это просто добавляет еще один уровень простоты при написании приложений Node.js.

Мы рассмотрим пример использования модуля bluebird.

В нашем примере сначала будет установлено соединение с «Коллекцией сотрудников» в базе данных «EmployeeDB». Если соединение «то» установлено, оно получит все записи в коллекции и соответствующим образом отобразит их в консоли.

Как генерировать обещания с помощью библиотеки Bluebird JS

Вот пошаговый пример генерировать обещания с библиотекой Bluebird JS:

Шаг 1) Установка модулей NPM

Чтобы использовать Bluebird из приложения Node, необходим модуль Bluebird. Чтобы установить модуль Bluebird, выполните следующую команду:

npm установить bluebird

Шаг 2) Включите модули Bluebird

Следующим шагом будет включение модуля bluebird в ваш код и обещание всего MongoDB модуль. Под обещанием мы подразумеваем, что bluebird будет гарантировать, что каждый метод, определенный в MongoDB библиотека возвращает обещание.

Генерация обещаний с помощью библиотеки Bluebird JS

Объяснение кода: -

  1. Команда require используется для подключения библиотеки Bluebird.
  2. Используйте метод .promisifyAll() Bluebird для создания асинхронной версии каждого метода. MongoDB модуль обеспечивает. Это гарантирует, что каждый метод MongoDB модуль будет работать в фоновом режиме и гарантировать, что обещание будет возвращено для каждого вызова метода в MongoDB библиотека.

Шаг 3) Подключитесь к базе данных

Последний шаг — подключиться к нашей базе данных, получить все записи из нашей коллекции и отобразить их в журнале консоли.

Генерация обещаний с помощью библиотеки Bluebird JS

Объяснение кода: -

  1. Вы заметите, что мы используем метод «connectAsync» вместо обычного метода подключения для подключения к база данных. Bluebird на самом деле добавляет ключевое слово Async к каждому методу в MongoDB библиотека для различения вызовов, которые возвращают обещания, и вызовов, которые не возвращают. Поэтому нет гарантии, что методы без слова Async вернут значение.
  2. Подобно методу ConnectAsync, мы теперь используем метод findAsync для возврата всех записей в коллекции «Сотрудник» mongoDB.
  3. Наконец, если findAsync возвращает успешное обещание, мы определяем блок кода для перебора каждой записи в коллекции и отображения их в журнале консоли.

Если вышеуказанные шаги выполнены правильно, все документы в коллекции «Сотрудники» будут отображаться в консоли, как показано в выводе ниже.

Генерация обещаний с помощью библиотеки Bluebird JS

Вот код для справки:

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

Подведем итог этой публикации следующим образом: