Свойство length не существует для типа ... OkPacket в модуле mysql2 - PullRequest
2 голосов
/ 05 апреля 2019

У меня есть код, подобный этому - очень просто показать случай.

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, когда я знаю, что это не так) ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...