SQLite 新 Promise 的类型定义

Type definition of new Promise with SQLite

我是 Typescript 的新手,我在 Promise 的类型定义方面遇到了问题。另外,我是第一次使用 SQLite。 Typescript 建议我将 void 用于 resolve,但同时它说在 reject void is not assignable on type boolean 时。这是代码:

import * as SQLite from 'expo-sqlite';

const db = SQLite.openDatabase('address.db');

export const init = () => {
    return new Promise<void>((resolve, reject) => {
        db.transaction((tx) => {
            tx.executeSql(`CREATE TABLE IF NOT EXISTS user (
                name TEXT NOT NULL,
                email TEXT NOT NULL,
                password TEXT NOT NULL
            )`,
            [],
            () => resolve(),
            (_, err) => reject(err),
            )
        });
    });
}

这是控制台上的错误: “(_: SQLTransaction, err: SQLError) => void”类型的参数不可分配给 'SQLStatementErrorCallback' 类型的参数。 类型 'void' 不可分配给类型 'boolean'.

如果有人可以帮助我,我将不胜感激。提前致谢

我不知道这是否是正确的解决方案,但在这个定义后它停止抱怨:

(_, err): boolean | any => reject(err),

这是完整的代码:

import * as SQLite from 'expo-sqlite';

const db = SQLite.openDatabase('address.db');

export const init = () => {
    return new Promise<void>((resolve, reject) => {
        db.transaction((tx) => {
            tx.executeSql(`CREATE TABLE IF NOT EXISTS user (
                name TEXT NOT NULL,
                email TEXT NOT NULL,
                password TEXT NOT NULL
            )`,
            [],
            () => resolve(),
            (_, err): boolean | any => reject(err),
            )
        });
    });
}