@mayday69

Как заставить один mysql запрос ждать другой в Node js?

В массиве posids должны храниться ID только что созданных рядов в таблице MYSQL и
потом нужно передать их в другую таблицу, но получается так что сначала обрабатываются оба запроса
, и лишь потом данный массив заполняется, и столбец остается пустой. Подскажите пожалуйста как лучше сделать

while (i < rowcount) {
        pool.query(`INSERT INTO positions(len,count,sqr,cost) VALUES(?,?,?,?)`, [request.body['inputlen' + rowids[i]], 
                request.body['inputcount' + rowids[i]], request.body['sqrr' + rowids[i]], request.body['cost' + rowids[i]]
        ], function(error, results, fields) {
            posids.push(results.insertId);
            console.log(posids);
        })
        i++;
    }

    if (wave && color && thickness && fthickness && date) {
        console.log('first' + posids);
        pool.query(`INSERT INTO orders(wavetype,thick,fthick,color,createdate,readydate,positions) VALUES(?,?,?,?,?,?,?)`, 
               [wave, thickness, fthickness, color, currentdate, date, posids.toString()], function(error, results, fields) {
            console.log(rowcount, rowids);
            response.redirect('/home');
            response.end();
        })
    } else {
        response.send('Введены не все данные');
        response.end();
    }
  • Вопрос задан
  • 82 просмотра
Решения вопроса 1
@d-sem
через промисы определить последовательность действий
https://learn.javascript.ru/promise
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 мар. 2024, в 18:16
1000 руб./за проект
28 мар. 2024, в 18:15
90000 руб./за проект
28 мар. 2024, в 18:05
5000 руб./за проект