我正在使用ya-csv库,该库需要文件或流作为输入,但是我有一个字符串。

如何将该字符串转换为Node中的流?

最佳答案

从节点10.17开始,stream.Readable具有from方法,可以轻松地从任何可迭代对象(包括数组文字)创建流:

const { Readable } = require("stream")

const readable = Readable.from(["input string"])

readable.on("data", (chunk) => {
  console.log(chunk) // will be called once with `"input string"`
})

请注意,至少在10.17和12.3之间,字符串本身是可迭代的,因此Readable.from("input string")将起作用,但每个字符发出一个事件。 Readable.from(["input string"])将为数组中的每个项目发出一个事件(在这种情况下为一个项目)。

还要注意,在以后的节点中(可能是12.3,因为文档说函数已被更改),所以不再需要将字符串包装在数组中。

https://nodejs.org/api/stream.html#stream_stream_readable_from_iterable_options

10-04 16:40