Mysql функция узла - PullRequest
       4

Mysql функция узла

0 голосов
/ 13 июля 2020

Я хочу позвонить на сервер mysql с узлом и сохранить данные в fucntion:

async function getData(uri){
let data = await esisteMysql(uri);
console.log(data);
}


function esisteMysql(uri) {
    connection.query(`select * from data where url = '${uri}'`, function (error, row) {
      if(error) throw error;
      else {
        if(row && row.length){
          console.log('FOUND');
          //console.log(row);
          return row;
        }else{
          console.log('NOT FOUND');
          return row = null;
        }
      }
    })
  }

Это не работает, возвращает undefined. Я могу регистрировать данные, только если распечатаю их в esiste Mysql с console.log (row);

1 Ответ

0 голосов
/ 13 июля 2020

Ваш esisteMysql() должен создать обещание для работы с await. Это может выглядеть примерно так:

async function getData(uri) {
    let data = await esisteMysql(uri);
    console.log(data);
}

function esisteMysql(uri) {
    return new Promise(function(resolve, reject) {
        connection.query(`select * from data where url = '${uri}'`, function (error, row) {
            if (error) {
                reject(error);
            } else {
                resolve(row);
            }
        })
    }
}

Подробнее см. https://javascript.info/async.

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