美文网首页
Node.js用async/await处理流数据

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

作者: 怪爵Geekknight | 来源:发表于2018-08-30 11:35 被阅读0次

    关键:
      要解决这个问题的关键就是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");
    

    相关文章

      网友评论

          本文标题:Node.js用async/await处理流数据

          本文链接:https://www.haomeiwen.com/subject/rmyrwftx.html