- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
最近,将 GridFSBucketWriteStream
转换为 WritableStream
类型变得不可能,并导致类型错误。
const wst = svcMng.DBService.projectImageGrid.openUploadStream(image.name);
const uploadPromise = new Promise((resolve, reject) => {
const read = new Readable({
read() {
this.push(image.data);
this.push(null);
}
});
read.on('error', (err) => {
reject(err);
});
read.on('end', () => {
resolve(null);
});
read.pipe(wst);
});
await uploadPromise;
read.pipe(wst)
导致:“GridFSBucketWriteStream”类型的参数不可分配给“WritableStream”类型的参数。
wst
是一个 GridFSBucketWriteStream
类型,并且应该可以转换为 WritableStream
,因为 GridFSBucketWriteStream
类实现了 NodeJS .WritableStream
.
当然read.pipe(wst as any)
解决了这个问题,但我想避免它。
read.pipe(wst as NodeJS.WritableStream)
也不起作用。
版本:
提前感谢您的帮助!
最佳答案
更新:这个问题已经在 mongodb 版本 4.3.0 中得到解决(大约在我回答下面 6 小时后)。 (这是错误报告:jira.mongodb.org/browse/NODE-3843)
我遇到了同样的问题并找到了解决方法。它隐式安装@types/node版本17.0.8(请参阅node_modules中的@types/node/package.json)。重大更改发生在 WritableStream
接口(interface)中的 Node 16 和 Node 17 之间。 end
方法过去返回 void
,现在返回 this
。
您可以通过运行指定所需的 Node 类型版本:
npm install --save-dev @types/node@16
从长远来看,mongodb Node 驱动程序项目需要修复其与 Node 17 的兼容性。但这个解决方法目前对我有帮助。
关于node.js - 将 'GridFSBucketWriteStream' 转换为类型 'WritableStream' 不可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70589349/
最近,将 GridFSBucketWriteStream 转换为 WritableStream 类型变得不可能,并导致类型错误。 const wst = svcMng.DBService.projec
我是一名优秀的程序员,十分优秀!