Bluebird NPM: Bluebird JS Promise із прикладом

Що таке Bluebird JS?

Bluebird JS — це повнофункціональна бібліотека Promise для JavaСценарій. Найсильнішою особливістю Bluebird є те, що він дозволяє вам «обіцяти» інші модулі Node, щоб використовувати їх асинхронно. Promisify — це концепція, застосована до функцій зворотного виклику. Ця концепція використовується для того, щоб кожна викликана функція зворотного виклику повертала певне значення.

Тож якщо a NodeJS module містить функцію зворотного виклику, яка не повертає значення, і якщо ми Promisify модуль вузла, усі функції в цьому конкретному модулі вузла будуть автоматично змінені, щоб забезпечити повернення значення.

Тож ви можете використовувати BlueBird для створення MongoDB модуль працює асинхронно. Це лише додає ще один рівень легкості під час написання програм Node.js.

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

У нашому прикладі спочатку буде встановлено з’єднання з «Колекцією співробітників» у базі даних «EmployeeDB». Якщо встановлено з’єднання «тоді», воно отримає всі записи в колекції та відповідно відобразить їх на консолі.

Як генерувати обіцянки за допомогою бібліотеки Bluebird JS

Ось покроковий приклад генерувати обіцянки з бібліотекою Bluebird JS:

Крок 1) Встановлення модулів NPM

Щоб використовувати Bluebird із програми Node, потрібен модуль Bluebird. Щоб установити модуль Bluebird, виконайте наведену нижче команду

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

Крок 2) Включіть модулі Bluebird

Наступним кроком є ​​включення модуля bluebird у ваш код і обіцянка всього MongoDB модуль. Під promisify ми маємо на увазі, що bluebird гарантує, що кожен метод, визначений у MongoDB бібліотека повертає обіцянку.

Генеруйте обіцянки за допомогою бібліотеки Bluebird JS

Пояснення коду: -

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

Крок 3) Підключіться до бази даних

Останнім кроком є ​​підключення до нашої бази даних, отримання всіх записів у нашій колекції та відображення їх у журналі консолі.

Генеруйте обіцянки за допомогою бібліотеки Bluebird JS

Пояснення коду: -

  1. Ви помітите, що ми використовуємо метод “connectAsync” замість звичайного методу з’єднання для підключення до база даних. Bluebird насправді додає ключове слово Async до кожного методу в MongoDB бібліотеку, щоб розрізняти виклики, які повертають обіцянки, і ті, які ні. Тому немає гарантії, що методи без слова Async повернуть значення.
  2. Подібно до методу connectAsync, тепер ми використовуємо метод findAsync для повернення всіх записів у колекції MongoDB Employee.
  3. Нарешті, якщо findAsync повертає успішну обіцянку, ми тоді визначаємо блок коду для повторення кожного запису в колекції та відображення їх у журналі консолі.

Якщо наведені вище кроки виконано належним чином, усі документи в колекції Employee відображатимуться на консолі, як показано у вихідних даних нижче.

Генеруйте обіцянки за допомогою бібліотеки 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);
        })
    });