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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

一個nodejs stream詭異的行為, 猜測和事件循環(huán)有關(guān)系, 求解釋?

一個nodejs stream詭異的行為, 猜測和事件循環(huán)有關(guān)系, 求解釋?

不負(fù)相思意 2019-05-08 17:26:04
當(dāng)前目錄下準(zhǔn)備一個test.txt,寫入一些東西,比如>It'sfortestIt'sfortestIt'sfortestIt'sfortest{console.log('end')})//setTimeout(()=>{//from.pipe(to)//thiswon'twork,iftime>=3//},3)//setTimeout(()=>{//from.pipe(to)//thiswillwork,iftime
查看完整描述

2 回答

?
翻閱古今

TA貢獻1780條經(jīng)驗 獲得超5個贊

通過I/O讀取字符串到緩沖區(qū)
timers階段沒有callback執(zhí)行,寫入WriteStream,timers階段檢測到callback,執(zhí)行callback,然鵝ReadStream沒數(shù)據(jù),pipe沒有效果。
timers階段檢測到callback,執(zhí)行callback,ReadStream數(shù)據(jù)還在,pipe有效果。
用process.stdout測試
constfs=require('fs')
constfrom=fs.createReadStream('test.txt')
from.pipe(process.stdout,{
end:false
})
from.on('end',()=>{
console.log('end')
})
setTimeout(()=>{
console.log('timercallback')
from.pipe(process.stdout)//thiswon'twork,iftime>=3
},3)
//setTimeout(()=>{
//console.log('timercallback')
//from.pipe(process.stdout)//thiswillwork,iftime<3
//},2)
                            
查看完整回答
反對 回復(fù) 2019-05-08
?
智慧大石

TA貢獻1946條經(jīng)驗 獲得超3個贊

默認(rèn)情況下,在源流發(fā)出時stream.end()在目標(biāo)Writable流上調(diào)用,以便目標(biāo)不再可寫。要禁用此默認(rèn)行為,可以將該選項作為傳遞,從而使目標(biāo)流保持打開狀態(tài):
reader.pipe(writer,{end:false});
上面說的很清楚了,設(shè)置false是保持打開狀態(tài),不是你理解的可以一直編輯,也是有時間限制的由于Js是異步處理,所有程序同步執(zhí)行,寫入和settimeout也一樣,所以當(dāng)你設(shè)置延遲時長高的時候,是沒辦法注入進去的。謝謝
                            
查看完整回答
反對 回復(fù) 2019-05-08
  • 2 回答
  • 0 關(guān)注
  • 413 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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