node系列之util

地址

傳送門

說明

nodejs的一些工具類朵逝,不過從文檔來看,好多都已經(jīng)作廢了配名,很多判斷數(shù)據(jù)類型的方法已經(jīng)遷移交由該數(shù)據(jù)類型自己來判斷。比如 util.isArray(object)方法即將棄用渠脉,取而代之的是Array.isArray(object)宇整。同樣的例子還有很多芋膘,isBooleanisNumber等等为朋。

尚未拋棄的方法

  • util.debuglog(section)
    類似于debug模塊的做法。
const util = require('util');
const debuglog = util.debuglog('foo');
debuglog('hello from foo [%d]', 123);

運行的時候要指定環(huán)境變量NODE_DEBUG=foo

FOO 3245: hello from foo [123]

3245是當前進程id习寸。如果有需要胶惰,可以指定多個值(用逗號隔開)霞溪。NODE_DEBUG=fs,net,tls

  • util.deprecate
    封裝了一個方法鸯匹,并且還會有相應(yīng)的提示。一般都是提示不要使用此方法等等忽你。
var func = util.deprecate(function() { 
    for (var i = 0, len = arguments.length; i < len; ++i) {
      process.stdout.write(arguments[i] + '\n'); 
    }
  }, 'util.puts: Use console.log instead');

當調(diào)用func方法的時候,會提示你是用console.log來替換科雳。
在你設(shè)計的api里根蟹,假如有部分需要平滑過渡的話糟秘,可以使用這個 deprecate來提示調(diào)用方。

  • util.format
    格式化尿赚。返回一個格式化后的字符串

  • util.inherits(constructor, superConstructor)
    這個用得可能相對來說會多一點:繼承蕉堰。
    官方貌似比較推薦的是es2015的語法糖classextends
    util.inherits

const util = require('util');
const EventEmitter = require('events');
function MyStream() { 
    EventEmitter.call(this);
}
util.inherits(MyStream, EventEmitter);
MyStream.prototype.write = function(data) { 
    this.emit('data', data);
};
const stream = new MyStream();
console.log(stream instanceof EventEmitter); // true
console.log(MyStream.super_ === EventEmitter); // true
stream.on('data', (data) => { 
    console.log(`Received data: "${data}"`);
});
stream.write('It works!'); // Received data: "It works!"

es2015

const util = require('util');
const EventEmitter = require('events');
class MyStream extends EventEmitter { 
    constructor() { 
      super(); 
    } 
    write(data) { 
      this.emit('data', data); 
    }
  }
const stream = new MyStream();
stream.on('data', (data) => { 
    console.log(`Received data: "${data}"`);
});
stream.write('With ES6');

可以看出屋讶,兩種效果其實是一樣的。而且须教,es2016的例子,看起來會簡介一些轻腺。

  • util.inspect(object[, options])
    將一個對象轉(zhuǎn)換成字符串,通常用于調(diào)試和錯誤輸出(我沒有用過這個方法贬养。挤土。误算。)。有興趣開始簡單地使用這個方法輸出一下尉桩。
console.log(util.inspect(util, { showHidden: true, depth: null }));

即將棄用的方法

我就不說了贪庙,既然官方都不推薦了,那就隨風消去吧止邮。

小結(jié)

這個模塊我用得不多这橙,主要是繼承會偶爾用上导披。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市撩匕,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌止毕,老刑警劉巖模蜡,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件忍疾,死亡現(xiàn)場離奇詭異,居然都是意外死亡谨朝,警方通過查閱死者的電腦和手機甥绿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門则披,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人收叶,你說我怎么就攤上這事骄呼∨忻唬” “怎么了?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵澄峰,是天一觀的道長。 經(jīng)常有香客問我俏竞,道長绸硕,這世上最難降的妖魔是什么魂毁? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮席楚,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘烦秩。我一直安慰自己垮斯,他們只是感情好只祠,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著抛寝,像睡著了一般。 火紅的嫁衣襯著肌膚如雪盗舰。 梳的紋絲不亂的頭發(fā)上猴凹,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天岭皂,我揣著相機與錄音,去河邊找鬼爷绘。 笑死书劝,一個胖子當著我的面吹牛进倍,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播猾昆,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼垂蜗!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起解幽,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎躲株,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體霜定,經(jīng)...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡档悠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年辖所,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片磨德。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖剖张,靈堂內(nèi)的尸體忽然破棺而出揩环,到底是詐尸還是另有隱情搔弄,我是刑警寧澤丰滑,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站褒墨,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏郁妈。R本人自食惡果不足惜浑玛,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一噩咪、第九天 我趴在偏房一處隱蔽的房頂上張望极阅。 院中可真熱鬧,春花似錦涨享、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽吁讨。三九已至髓迎,卻和暖如春挡爵,著一層夾襖步出監(jiān)牢的瞬間竖般,已是汗流浹背茶鹃。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留闭翩,地道東北人挣郭。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓兑障,卻偏偏與公主長得像,于是被迫代替她去往敵國和親蕉汪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理者疤,服務(wù)發(fā)現(xiàn),斷路器驹马,智...
    卡卡羅2017閱讀 134,637評論 18 139
  • 共14+1個小點 最后一個點是socket 很簡單 概念: //并行是指兩個或者多個事件在同一時刻發(fā)生革砸;而并發(fā)是指...
    貝灬小暉閱讀 221評論 0 1
  • https://nodejs.org/api/documentation.html 工具模塊 Assert 測試 ...
    KeKeMars閱讀 6,313評論 0 6
  • 個人入門學習用筆記算利、不過多作為參考依據(jù)。如有錯誤歡迎斧正 目錄 簡書好像不支持錨點泳姐、復制搜索(反正也是寫給我自己看...
    kirito_song閱讀 2,458評論 1 37
  • Node.js Stream(流) Stream 是一個抽象接口,Node 中有很多對象實現(xiàn)了這個接口。例如允耿,對h...
    FTOLsXD閱讀 601評論 0 2