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

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

這是個什么問題?沒毛病啊感覺

這是個什么問題?沒毛病啊感覺

慕慕森 2018-09-06 13:10:43
查看完整描述

1 回答

?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗 獲得超4個贊

1.直接的bug就是1樓的同學(xué)說的
2.但是你在讀文件的時候沒用到流,所以我覺得你可以直接使用_this.res.end(data)可以避免你的問題
3.從你的代碼中讀出來幾點意見給你

  • fs.exists(path, callback)這個方法很早就已經(jīng)Deprecated了,所以也不推薦你使用,用 fs.lstat() or fs.access()代替吧!

  • 既然你想用write,那你讀文件的時候就可以用流去讀,這樣如果是一個超大的文件的話,你就可以流式讀取的方式讀出來,你現(xiàn)在readFile,然后直接write,最后end,還是一次性把文件內(nèi)容讀到內(nèi)存中,對于大文件來說還是體驗很差,推薦使用下面的代碼嘗試一下

  const filePath=path.join(__dirname, 'xxxx.json')
  fs.lstat(filePath, (err, stats) => {    if(err) return res.status(500).end('file is not founded')
    res.writeHead(200, {      'Content-Type' : 'application/json',
    })
    const readStream = fs.createReadStream(filePath)
    readStream.on('end', () => {
      res.end()
    })
    readStream.on('error', (error) => {
      res.end(`read file stream error ${error.message}`)
    })
    readStream.pipe(res)
  })

隨手寫了一些, 你可以進(jìn)行優(yōu)化,打日志,或者用async解決callback hell問題等,還有頭類型,返回的錯誤信息等,不過核心的流式吐出的代碼應(yīng)該沒問題,僅供參考,希望對你有幫助


查看完整回答
反對 回復(fù) 2018-10-06
  • 1 回答
  • 0 關(guān)注
  • 508 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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