我不断收到此智能错误:
Type '{}' is not assignable to type 'Pool'. Property 'config' is missing in type '{}'.
下面的图片可以更好地概述正在发生的事情。 我已经尝试了大约2个小时,以了解为什么vs代码intellisense在这里抱怨。 也许另一种见解可以帮助我解决这个问题。
当然,如果我将返回类型更改为任何类型,错误都会消失,但这不是我想要的。函数声明说返回类型应该是Pool,这就是我期望的Promise of Pool对象。
我猜这是我不知道的非常愚蠢的事情。 因此,我希望提供任何解释甚至指导。
谢谢大家,祝你愉快!
部分课程没有错误
班级有误
Mysql节点库
tsconfig.json
createPool mysql节点库声明文件
源代码,稍作修改:
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);
});
});
}
...
}
答案 0 :(得分:2)
您尚未告诉TypeScript Promise
的分辨率是什么类型,并且显然不能推断出它。更改:
return new Promise((resolve, reject) =>
到
return new Promise<Pool>((resolve, reject) =>
// ---------------^^^^^^