Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.02.2018, 22:41
Аспирант
Отправить личное сообщение для SpaceAlarm Посмотреть профиль Найти все сообщения от SpaceAlarm
 
Регистрация: 05.05.2016
Сообщений: 92

Не правильный цикл
function get() {
    ts.send("clientlist", (err, response) => {
        if (err) {
            console.error('failed:', err);
        }
        let list = response;

        for (let i = 0; i < list.length; i++) {
            let client = list[i].clid;
            ts.send("info", { clid: client }, (err, response) => {
                mysql.query(`SELECT id, name FROM users WHERE id = '${response.id}'`, (err, rows, fields) => {
                    console.log(rows.length)
                });
            });
        }
    });
}

В БД 4 записи!

На выходе я имею:
3
1
3
3
3
Как мне получить результат 1 раз, но в цикле эта функция?

Последний раз редактировалось SpaceAlarm, 13.02.2018 в 00:01.
Ответить с цитированием
  #2 (permalink)  
Старый 13.02.2018, 04:33
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Не знаю я Node, но так насиловать базу, это запредельно. Здесь не должно быть цикла вообще. Нужно подготовить данные для запроса, обязательно отфильтровав их, как массив id, который подставить в запрос, объединив его элементы через запятую id_array.join(','):

SELECT id, name FROM users WHERE id IN(id_string)

В кавычки числовые значения заключать не обязательно. А уже результат запроса rows, это будет массив объектов и rows.length, это количество возвращенных записей. И вот тут нужен цикл для rows чтобы получить данные из каждой записи.

Последний раз редактировалось laimas, 13.02.2018 в 05:55.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Цикл завершается не дожидаясь выполнения функции leonoff jQuery 2 13.08.2014 16:02
Как подчинить себе цикл wreder jQuery 17 20.11.2013 22:17
Цикл завешивает страницу, помогите Romingood jQuery 5 19.10.2013 14:30
как сделать чтобы цикл не запускался второй раз Brook Events/DOM/Window 5 12.05.2013 21:43
Бесконечный цикл Sundro Общие вопросы Javascript 8 08.08.2011 13:58