我有类似的代码 - 非常简单,只是为了展示案例。
this.getCode = (code: string): Promise<codeObject | false> => {
return new Promise((resolve, reject) => {
pool.query('SELECT * FROM ?? WHERE code = ?', [TABLE, code], function (err, result) {
if (err) {
return reject(err);
}
if (result.length === 0) {
return resolve(false);
}
});
});
};
问题在于if (result.length === 0) {,错误是error TS2339: Property 'length' does not exist on type 'RowDataPacket[] | RowDataPacket[][] | OkPacket | OkPacket[]'.
我找不到任何方法来重新定义 OkPacket 至少length?: number
足以忽略该错误(大多数选择无论如何都没有得到 OkPackets,如果我知道的时候我得到的不是 OkPacket,我不想检查每个选择的类型这不是)...