Bluebird NPM: promessa do Bluebird JS com exemplo

O que é Bluebird JS?

Bluebird JS é uma biblioteca Promise completa para JavaScript. A característica mais forte do Bluebird é que ele permite “prometer” outros módulos do Node para usá-lossynccronicamente. Promisify é um conceito aplicado a funções de retorno de chamada. Este conceito é usado para garantir que cada função de retorno de chamada chamada retorne algum valor.

Então, se um NodeJS O módulo contém uma função de retorno de chamada que não retorna um valor, e se prometermos o módulo do nó, todas as funções nesse módulo do nó específico serão automaticamente modificadas para garantir que ele retorne um valor.

Então você pode usar o BlueBird para fazer o MongoDB módulo executa umsynccronicamente. Isso apenas adiciona outro nível de facilidade ao escrever aplicativos Node.js.

Veremos um exemplo de como usar o módulo bluebird.

Nosso exemplo primeiro estabelecerá uma conexão com a “coleção Employee” no banco de dados “EmployeeDB”. Se a conexão “então” for estabelecida, ele obterá todos os registros da coleção e os exibirá no console de acordo.

Como gerar promessas com a biblioteca Bluebird JS

Aqui está o exemplo passo a passo para gerar promessas com biblioteca Bluebird JS:

Etapa 1) Instalando os Módulos NPM

Para usar o Bluebird em um aplicativo Node, o módulo Bluebird é necessário. Para instalar o módulo Bluebird, execute o comando abaixo

npm instalar o bluebird

Etapa 2) Incluir módulos Bluebird

O próximo passo é incluir o módulo bluebird em seu código e prometer todo o MongoDB módulo. Por promisificar, queremos dizer que o bluebird garantirá que todo e qualquer método definido no MongoDB biblioteca retorna uma promessa.

Gere promessas com a biblioteca Bluebird JS

Explicação do código: -

  1. O comando require é usado para incluir a biblioteca Bluebird.
  2. Use o método .promisifyAll() do Bluebird para criar umsync versão de cada método o MongoDB módulo fornece. Isso garante que cada método do MongoDB módulo será executado em segundo plano e garantirá que uma promessa seja retornada para cada chamada de método no MongoDB biblioteca.

Etapa 3) Conecte-se ao banco de dados

A etapa final é conectar-se ao nosso banco de dados, recuperar todos os registros da nossa coleção e exibi-los no log do console.

Gere promessas com a biblioteca Bluebird JS

Explicação do código: -

  1. Você notará que estamos usando o “connectAsync”Método em vez do método de conexão normal para conectar ao banco de dados. Bluebird realmente adiciona o Async palavra-chave para cada método no MongoDB biblioteca para distinguir aquelas chamadas que retornam promessas e aquelas que não retornam. Portanto, não há garantia de que métodos sem o Async palavra retornará um valor.
  2. Semelhante ao ConnectAsync método, agora estamos usando o findAsync método para retornar todos os registros no mongoDB Coleção 'Funcionário'.
  3. Finalmente, se findAsync retorna uma promessa bem-sucedida, então definimos um bloco de código para iterar cada registro na coleção e exibi-los no log do console.

Se as etapas acima forem executadas corretamente, todos os documentos da coleção Employee serão exibidos no console conforme mostrado na saída abaixo.

Gere promessas com a biblioteca Bluebird JS

Aqui está o código para sua referência:

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