我在打字稿中有这段代码,但我不明白为什么它告诉我在分配之前使用了变量:
这只发生在我将类型添加到database变量时。这是一个基于 Vue/Quasar 的项目,使用 Typescript。请注意,如果我将类型指定为“任何”,那么我没有任何问题,但如果可以的话,我宁愿避免走这条路。
谁能建议我可能做错了什么以及可能的解决方案?
import { SQLiteDBConnection } from '@capacitor-community/sqlite';
let database: SQLiteDBConnection;
try {
database = await sqlite.retrieveConnection(this.connectionName);
} catch (error) {
// ignore
}
try {
if (!database) {
// workaround an issue if `retrieveConnection` fails
await sqlite.closeConnection(this.connectionName);
}
} catch (error) {
// ignore
}
try {
if (!database) {
database = await sqlite.createConnection(this.connectionName);
}
} catch (error) {
// ignore
}
if (!database) {
throw new Error('unable to create or retrieve connection');
}