我想知道是否有可能只从Fetch Response Body中的可读流中获取第一项,而不遍历它.
数据以原始字符串的形式出现,如下所示:
...
2023-11-28T00:00:00.0000000Z { "data": { ..., "p": "36966.01000000", ... } }
...
我不能简单地用JSON.parse()
来解析它,所以我找到了一种方法来读取流,如下所示:
import split from 'split2'
import fetch from 'node-fetch'
const response = await fetch(<url>, <options>)
const lines = response.body.pipe(split())
for await (const line of lines) {
let value = parseFloat(JSON.parse(line.split(' ')[1]).data.p)
break
}
这种方法涉及在for...of
个循环中穿过管道的线路,并在第一次迭代后将其断开.
有没有更高效、更优雅的方法呢?