第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

關(guān)于流私有方法到底是什么鬼?

fs模塊創(chuàng)建的流和stream創(chuàng)建的可讀可寫流有什么區(qū)別嗎,還有_write,_read這些到底是什么?

正在回答

2 回答

_write,_read 是 私有函數(shù)的名字。 這些流具體怎么讀 怎么寫,就是通過修改各自類原型的私有方法來實現(xiàn)的

比如:

ReadStream.prototype._read = function(){

? ? this.push(' ...')

???? ...

}

0 回復(fù) 有任何疑惑可以回復(fù)我~

// abstract method. ?to be overridden in specific implementation classes. ? ?

// call cb(er, data) where data is <= n in length. ? ?

// for virtual (non-string, non-buffer) streams, "length" is somewhat ? ?

// arbitrary, and perhaps not very meaningful. ? ?

Readable.prototype._read = function(n) { ? ?

this.emit('error', new Error('not implemented')); ? ?

}; ? ?
https://github.com/nodejs/node/blob/master/lib/_stream_readable.js


這是他的解釋,它是readable里的一個抽象方法,這里是對這個抽象方法進(jìn)行了實現(xiàn),而fs.js里面已經(jīng)對這個方法實現(xiàn)過了

fs.createReadStream?=?function(path,?options)?{????
return?new?ReadStream(path,?options);????
};????
-----------------
ReadStream.prototype._read?=?function(n)?{????
if?(typeof?this.fd?!==?'number')????
return?this.once('open',?function()?{????
this._read(n);????
});????
if?(this.destroyed)????
return;????
if?(!pool?||?pool.length?-?pool.used?<?kMinPoolSpace)?{????
//?discard?the?old?pool.????
pool?=?null;????
allocNewPool(this._readableState.highWaterMark);????
}

代碼是部分的,大概是告訴你這是真的

https://github.com/nodejs/node/blob/master/lib/fs.js

有興趣自己去看看吧。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
進(jìn)擊Node.js基礎(chǔ)(二)
  • 參與學(xué)習(xí)       76728    人
  • 解答問題       242    個

本教程帶你攻破 Nodejs,讓 JavaScript流暢運行在服務(wù)器端

進(jìn)入課程

關(guān)于流私有方法到底是什么鬼?

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號