我能够从API中获取二进制体并将其写入node中的文件。
const fileStream = fs.createWriteStream(filePath);
fetch(apiURL).then((downloadResponse) => {
downloadResponse.body.pipe(fileStream);
});
但是,当这样做时,我得到一个检查错误:
属性'pipe'在类型上不存在"ReadableStream">
在我看来很奇怪,当linter给出错误时,调用会工作。我甚至最初认为我的逻辑是错误的,浪费时间调试这个工作调用…
我的typescript版本是否由于某种原因错误地识别了类型,或者我应该不能执行此调用?
我几乎没有从打字稿开始,但有时我遇到这样的特质,当我做一些看起来完全有效的事情时,会减慢我的速度。
在评论中提供的答案确实是正确的,但这不是直截了当的上下文是在nextjs应用程序中使用从服务器端渲染函数(如getServerSideProps)获取。
在客户端,使用标准获取api是非常直接的,但是在SSR上,并不明显必须使用npm i @types/node-fetch
额外安装节点获取类型。