У меня есть код, подобный этому - очень просто показать случай.
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, когда я знаю, что это не так) ...