承诺:void 类型的参数不可分配给类型 T
Promise: Argument of type void is not assignable to type T
我遇到了上述错误,但我没有发现我的代码有任何问题。
write(data: T): Promise<T> {
return new Promise((resolve, reject) => {
this.open()
.then((db) => {
return db.collection(this.table);
})
.then((table) => {
table.insertOne(data)
})
.then((result) => {
console.log(result);
resolve(result);
})
.catch((err) => {
reject(err);
})
})
}
我试着把它写成
write(data: T): Promise<any>
它就像一个魅力。但是想知道,我做错了什么?有人可以告诉我正确的代码吗?
谢谢
看来您的承诺链可能会在此处中断:
.then((table) => {
table.insertOne(data)
})
由于您不在此处返回值,因此 result
在下一个 then
中不会有值。我希望 TypeScript 只是警告你这个潜在的错误。
我遇到了上述错误,但我没有发现我的代码有任何问题。
write(data: T): Promise<T> {
return new Promise((resolve, reject) => {
this.open()
.then((db) => {
return db.collection(this.table);
})
.then((table) => {
table.insertOne(data)
})
.then((result) => {
console.log(result);
resolve(result);
})
.catch((err) => {
reject(err);
})
})
}
我试着把它写成
write(data: T): Promise<any>
它就像一个魅力。但是想知道,我做错了什么?有人可以告诉我正确的代码吗?
谢谢
看来您的承诺链可能会在此处中断:
.then((table) => {
table.insertOne(data)
})
由于您不在此处返回值,因此 result
在下一个 then
中不会有值。我希望 TypeScript 只是警告你这个潜在的错误。