Bluebird NPM: 예제를 통한 Bluebird JS 약속
블루버드JS란?
Bluebird JS는 모든 기능을 갖춘 Promise 라이브러리입니다. Java스크립트. Bluebird의 가장 강력한 기능은 다른 Node 모듈을 비동기적으로 사용하기 위해 "promisify"할 수 있다는 것입니다. Promisify는 콜백 함수에 적용되는 개념입니다. 이 개념은 호출되는 모든 콜백 함수가 어떤 값을 반환하도록 하는 데 사용됩니다.
그래서 만약 NodeJS 모듈에는 값을 반환하지 않는 콜백 함수가 포함되어 있으며 노드 모듈을 약속하면 특정 노드 모듈의 모든 함수가 값을 반환하도록 자동으로 수정됩니다.
따라서 BlueBird를 사용하여 다음을 만들 수 있습니다. MongoDB 모듈은 비동기적으로 실행됩니다. 이것은 Node.js 애플리케이션을 작성할 때 편의성을 한 단계 더 높여줍니다.
bluebird 모듈을 사용하는 방법에 대한 예를 살펴보겠습니다.
우리의 예에서는 먼저 "EmployeeDB" 데이터베이스의 "Employee 컬렉션"에 대한 연결을 설정합니다. "then" 연결이 설정되면 컬렉션의 모든 레코드를 가져와 그에 따라 콘솔에 표시합니다.
Bluebird JS 라이브러리로 약속을 생성하는 방법
다음은 단계별 예입니다. 약속을 생성하다 Bluebird JS 라이브러리 사용:
1단계) NPM 모듈 설치
Node 애플리케이션 내에서 Bluebird를 사용하려면 Bluebird 모듈이 필요합니다. Bluebird 모듈을 설치하려면 아래 명령을 실행하십시오.
npm 설치 블루버드
2단계) Bluebird 모듈 포함
다음 단계는 코드에 bluebird 모듈을 포함하고 전체 내용을 약속하는 것입니다. MongoDB 기준 치수. 약속한다는 것은 블루버드가 MongoDB 라이브러리는 약속을 반환합니다.
코드 설명:-
- require 명령은 Bluebird 라이브러리를 포함하는 데 사용됩니다.
- Bluebird의 .promisifyAll() 메서드를 사용하여 모든 메서드의 비동기 버전을 만듭니다. MongoDB 모듈을 제공합니다. 이는 각 메소드의 MongoDB 모듈은 백그라운드에서 실행되며 각 메소드 호출에 대해 약속이 반환되는지 확인합니다. MongoDB 도서관.
3단계) 데이터베이스에 연결
마지막 단계는 데이터베이스에 연결하고 컬렉션의 모든 레코드를 검색하여 콘솔 로그에 표시하는 것입니다.
코드 설명:-
- 일반적인 연결 방법 대신 "connectAsync" 방법을 사용하여 연결하고 있다는 점을 알 수 있습니다. 데이터베이스. Bluebird는 실제로 각 메서드에 Async 키워드를 추가합니다. MongoDB 라이브러리를 사용하여 약속을 반환하는 호출과 반환하지 않는 호출을 구분합니다. 따라서 Async라는 단어가 없는 메서드가 값을 반환한다는 보장은 없습니다.
- connectAsync 메서드와 비슷하게, 이제 findAsync 메서드를 사용하여 mongoDB 'Employee' 컬렉션의 모든 레코드를 반환합니다.
- 마지막으로, findAsync가 성공적인 약속을 반환하면 컬렉션의 각 레코드를 반복하고 콘솔 로그에 표시하는 코드 블록을 정의합니다.
위의 단계를 올바르게 수행하면 Employee 컬렉션의 모든 문서가 아래 출력과 같이 콘솔에 표시됩니다.
참조용 코드는 다음과 같습니다.
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); }) });