NPM酷庫 pify 將非同步函式Promise化

2021-09-14 03:14:20 字數 554 閱讀 4668

npm酷庫,每天兩分鐘,了解乙個流行npm庫。

所有node.js標準庫和很多第三方庫提供的介面都是callback樣式的,在es7標準時代,使用async/await配合promise才是最佳實踐。

昨天我們了解到可以用bluebird庫將callback樣式庫轉化為promise樣式,同時bluebird庫也提供了強大在增強版的promise,如果我們需要轉化callback函式,且僅需要使用標準的promise,那麼使用bluebird有些大材小用。

pify 庫是乙個專門用來將callback樣式的庫轉化為promise風格介面的庫,除此之外別無任何其他功能,所以pify是乙個非常輕量、低碳的庫。

const fs = require('fs');

const pify = require('pify');

// ...

await pify(fs.readfile)('package.json', 'utf8');

await pify(fs).readfile('package.json', 'utf8');

NPM酷庫 async 強大的非同步任務控制

npm酷庫,每天兩分鐘,了解乙個流行npm庫。今天要了解的庫叫async,與es7標準的async await關鍵字不同,這裡說的async只是npm的乙個庫,為了區別,下文中今天的主角叫async庫,async await的關鍵字叫async函式。在處理非同步任務時,為了加大效能表現,我們常常會批...

NPM酷庫 ip,IP位址處理

npm酷庫,每天兩分鐘,了解乙個流行npm庫。const ip require ip 獲取本機網絡卡ip ip.address 比較兩個ip是否相同 ip.isequal 1 0 1 true ip 表示格式互轉 ip.tobuffer 127.0.0.1 buffer 127,0,0,1 ip.t...

NPM酷庫 uuid,生成隨機ID

npm酷庫,每天兩分鐘,了解乙個流行npm庫。在中心化應用中,資料記錄的id往往是資料庫生成的自增id,但是在分布式應用中,就會存在一些問題 uuid 就是應用在分布式環境中的隨機字串id,uuid有統一的格式,uuid的標準型式包含32個16進製制數字,以連字型大小分為五段,形式為8 4 4 4 ...