Загрузка...

Хочу проверить на существование пользователя в бд. Telegraf

Тема в разделе Node.js создана пользователем bamschans 29 авг 2022. 285 просмотров

  1. bamschans
    bamschans Автор темы 29 авг 2022 138 16 ноя 2021
    Всем привет есть такая функция которая по идее должна возвращать либо true либо false но она возвращает undefined. Использую бд
    mysql2. Уже бошку сломал.

    Код

    const isUserSet = (chatId) => {
    let chatId1 = chatId;
    let sql = `SELECT * FROM users WHERE chatid="${chatId1}" LIMIT 1`;
    let result = connection.query(sql, (err, res, fields) => {
    if (res.length === 0) {
    return false;
    } else {
    return true;
    }
    });
    }

     
  2. DianoxPlay
    DianoxPlay 29 авг 2022 Заблокирован(а) 19 21 июл 2020
    погоди либо я тупой либо ты поставил три равно
    --- Сообщение объединено с предыдущим 29 авг 2022
    как он может вернуть тру или фолс если он сравнить не может
    --- Сообщение объединено с предыдущим 29 авг 2022
    попробуй два равно заместь трех
     
    1. bamschans Автор темы
      DianoxPlay, Это строгое сравнение друже, даже если поставлю == все равно так.
    2. vtlstolyarov
      bamschans,
      connection.query
      - асинхронная функция, она ничего не возвращает - она вызывает callback. Так что тебе надо или тоже добавить свой callback или переделать всё на async/await
  3. pinilopa
    pinilopa 30 авг 2022 Заблокирован(а) 69 17 апр 2021
    покажи что выводит res
     
    1. bamschans Автор темы
      pinilopa, Уже решил, спасибо.
  4. mulyar_trx
    mulyar_trx 14 сен 2022 Заблокирован(а) 3 13 июл 2022
    Бля я походу один на этом форуме кто понимает как работают асинхронные запросы
    JavaScript
    const isUserSet = async (chatId) => {
    let chatId1 = chatId;

    let result = await (new Promise((resolve) => {
    let sql = `SELECT * FROM users WHERE chatid="${chatId1}" LIMIT 1`;
    connection.query(sql, (err, res, fields) => {
    if (res.length === 0) {
    resolve(false);
    } else {
    resolve(true);
    }
    });
    }))
    return result;
    }
    И лучше используй какую-то библиотеку для работы с бд получше, с этой еботни много

    Само собой эту функцию юзай в другой асинхронной функции с await, ибо она ожидает ответа от бд
     
    14 сен 2022 Изменено
  5. el9in
    el9in 18 сен 2022 lolz.live/threads/7387449 — USDT TRC без комиссии
    JavaScript
    const isUserSet = async (chatId) => {
    let chatId1 = chatId;
    let sql = `SELECT * FROM users WHERE chatid="${chatId1}" LIMIT 1`;
    let result = await connection.query(sql, (err, res, fields) => {
    if (res.length === 0) {
    return false;
    } else {
    return true;
    }
    });
    }
     
Загрузка...
Top