NodeJS 提供可写流以从中提取字符串

kmbjn2e3  于 2023-04-20  发布在  Node.js
关注(0)|答案(1)|浏览(123)

在Node中,我调用了一个库函数,该函数接受一个流,它将把文件的内容写入其中。通常这将是一个WritableStream,用于将文件写入磁盘,但实际上我只想将内容作为字符串。
有没有一种简单的方法来实现这一点,最好没有额外的依赖关系?也就是说,沿着这些路线:

function getImageContents() {
  const stream = new SomeKindOfStream();
  makeImage(stream);
  return stream.toString();
}
fkaflof6

fkaflof61#

好了,这起作用了:

async function getImageContents() {
  return new Promise((resolve, reject) => {
    const stream = new Writable()
    let s = '';
    stream._write = (chunk, enc, next) => {
      s += chunk.toString()
      next()
    }
    stream.on('finish', () => {
      resolve(s)
    })
    stream.on('error', (e) => {
      reject(e)
    })

    makeImage(stream)
  })
}

相关问题