Using Promise easier with BluebirdJS. Why not? P1
Hi everyone ^.^~ . I bet most of us know about Promise and its benefits. But to use it is not really easy. This is an example:
BluebirdJS will make your life much easier.
It so cool. So What is BluebirdJS?
BluebirdJS is a fully-featured Promise library for JS. It allows you to turn callbacks => Promise (promisify). So we can “pomisify” other Node modules in order to use them asynchronously.
- Using promise easier: It can call the function like it’s a simple synchronous function.
- Consolidate multiple function/promise: I’ll talk more clearly in next section.
- Bluebird promise can be cancelled: Cancelling is often necessary to avoid throwing errors when the user navigates away while the call is in progress.
- Easy to debug: If you forgotten to declare a .catch. Don’t worry. With Bluebird, unhandled errors are not silently swallowed by default, but reported along with helpful stack traces.
- Runs everywhere Bluebird runs on pretty much every platform.
How to use BluebirdJS?
- Step 1: Installing the NPM Modules, run the below command.
npm install bluebird
- Step 2: The next step is to include the bluebird module in your code.
var Promise = require("bluebird");
- Step 3: Now we will start with a simple features in Bluebird. It’s promisify. Using to return a new function that return a promise instead of using a callback.
In this case, I used promisify to create readFileAsync promise from the ‘fs’ module.
In the next section. I will introduce more detailed features in BluebirdJS. See you (-^.^~)
TECH TOWN – TECHNOLOGY CONSULTING FOR YOUR BUSINESS
📞Phone: +84 81-716-0331
📍Address: Floor 6, Vinhomes Central Park, No 208 Nguyen Huu Canh, Ward 22, Binh Thanh District , HCMC.
– Japan Representative : Floor 7, Honmachi Minami Garden City, 3-6-1 Kitakyuhoji Machi, Chuo-Ku, Osaka, 541-0057, Japan
– United States Representative office: 10802 Capital Ave, Garden Grove, CA 92843, United States
– Canada Representative office: 100 City Centre Dr. Unit 206 – Level 1, Mississauga, ON, L5B 2C9