Node.js用async/await处理流数据

关键:
  要解决这个问题的关键就是await function()中function()的返回值是什么类型?
答案:
  Promise
案例:
  下面给出一个案例,以流的形式读取文件数据。例子中定义了一个readStreamFile函数,然后在main中使用await调用readStreamFile这个方法。将文件内容赋值给file_content变量.

const readStreamFile = (filename) => {
  return new Promise((executor, reject) => {
    let chunks = [];
    const reader = fs.createReadStream(filename)
    reader.on('data', (chunk) => {
      chunks.push(chunk);
    })
    reader.on('end', () => {
      reader.close();
      executor(Buffer.concat(chunks).toString('base64'));
    })
    reader.on('error', (err) => {
      reject(err);
    })
  })
}


const main = async (filename) => {
  try {
    const file_content = await readStreamFile(filename);
  } catch (e) {
    console.log(e.message);
  }
}

main("filename");
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容