我不断收到此智能感知错误:
Type '{}' is not assignable to type 'Pool'. Property 'config' is missing in type '{}'.
下面的图片可以更好地概述正在发生的事情。 我已经尝试了大约 2 个小时来理解为什么 vs code intellisense 在这里提示。 也许另一种见解可以帮助我解决这个问题。
当然,如果我将返回类型更改为 any,错误就会消失,但这不是我想要的。函数声明说返回类型应该是 Pool,这就是我所期望的 Pool 对象的 Promise。
我想这是我不知道的非常愚蠢的事情。 因此,我会提出任何解释甚至指示。
谢谢大家,祝你有愉快的一天,
部分类无错误
部分类有错误
Mysql节点库
tsconfig.json
createPool mysql节点lib声明文件
源代码,稍作修改:
export class Database
{
...
private static pool: Pool;
public static async connect(): Promise<Pool>
{
return new Promise((resolve, reject) => {
if (Database.pool) {
return resolve(Database.pool);
}
let config: PoolConfig = {
connectTimeout: 15,
connectionLimit: 10,
host: process.env.TEST_DB_HOST || 'localhost',
user: process.env.TEST_DB_USER || 'root',
password: process.env.TEST_DB_PASSWORD || '',
database: process.env.TEST_DB_DATABASE || 'test'
};
const pool: Pool = createPool(config);
pool.getConnection((err, connection) => {
if (err) {
return reject(err);
}
connection.release();
return resolve(pool);
});
});
}
...
}
最佳答案
您还没有告诉 TypeScript Promise
的解析类型是什么,显然它无法推断出来。变化:
return new Promise((resolve, reject) =>
到
return new Promise<Pool>((resolve, reject) =>
// ---------------^^^^^^
关于javascript - 类型 '{}' 不可分配给类型 'Pool' 。类型 'config' 中缺少属性 '{}',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52569820/