NPM酷庫:bluebird Promise工具庫

脈衝雲_樑興臣發表於2019-02-16

NPM酷庫,每天兩分鐘,瞭解一個流行NPM庫。

昨天我們瞭解了增強版Promise庫:q。q庫實現了比ES2015標準更多的Promise方法,今天我們繼續學習另一個功能強大的Promise工具庫:bluebird。

bluebird

首先,和q庫一樣,bluebird也是一個增強版本的Promise庫,可以直接require後替換Node.js內建Promise。

const Promise = require(`bluebird`);

Promise也提供了其他非常有用的工具,比如前天文章中將callback樣式函式轉換為Promise樣式,可以直接使用bluebird實現:

const readFile = Promise.promisify(fs.readFile);

也可以直接將整個Node.js模組轉換為Promise樣式介面:

const fs = Promise.promisifyAll(require("fs"));

// ...

await fs.readFileAsync("myfile.js", "utf8");

此外經常用到的bluebird工具有:

參考資料

https://github.com/petkaanton…

http://bluebirdjs.com/docs/ap…

相關文章