我正在使用 fetch 调用 Web api。我想将响应作为流读取,但是当我在 response.body 上调用 getReader() 时,出现错误:“TypeError:response.body.getReader 不是函数”。
const fetch = require("node-fetch");
let response = await fetch(url);
let reader = response.body.getReader();
javascript 实现之间存在差异fetch
和节点之一node-fetch
.
您可以尝试以下操作:
const fetch = require('node-fetch');
fetch(url)
.then(response => response.body)
.then(res => res.on('readable', () => {
let chunk;
while (null !== (chunk = res.read())) {
console.log(chunk.toString());
}
}))
.catch(err => console.log(err));
主体返回一个 Node 本机可读流,您可以使用方便的命名来读取该流read()
method.
您可以在下面找到有关差异的更多信息here https://github.com/bitinn/node-fetch/blob/HEAD/LIMITS.md。进一步来说:
为了方便,res.body
is a Node.js
可读流,因此解码可以独立处理。
希望能帮助到你 !
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)