Как получить данные с сервера MySQL для всех элементов в списке в nodejs?

Вы можете перенаправить stdout в /dev/null.

yum install nano > /dev/null

Или вы можете перенаправить как stdout, так и stderr,

yum install nano &> /dev/null.

Но если у программы есть тихий вариант, это еще лучше.

0
задан Archaic 23 February 2019 в 07:59
поделиться

2 ответа

Вас беспокоит асинхронность функции запроса, и это так, но только в отношении того, что следует за функцией. Вы помещаете ваши stationNames в новый массив внутри функции обратного вызова, которая будет выполняться последовательно.

0
ответ дан Robin Börjesson 23 February 2019 в 07:59
поделиться

Вы можете сделать это, используя функцию async await

var getDataById = function (id) {
    return new Promise(function (resolve, reject) {
        con.query('SELECT * FROM station WHERE id=' + id, function (err, result, field) {
            if (err) {
                console.log("ERROR 3");
                reject(err);
            } else {
                resolve(result);
            }
        });
    });
};

(async function () {
    for (var i = 0; i < map.length; ++i) {
        var data = await getDataById(map[i]);
        data.forEach(function (r) {
            stationName.push(r.name);
        });
        if (stationName.length == map.length) {
            console.log(stationName);
        }
    }
})();
0
ответ дан Hello World 23 February 2019 в 07:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: