отображать результаты mysql вне запросов nodejs, которые будут использоваться позже

0

У меня есть nodejs mysql-запросы, ниже которых работает для извлечения запросов к базе данных до тех пор, пока они содержатся в запросах nodejs. теперь я хочу отобразить результат вне функции запросов, чтобы потом использовать его, передавая его переменным, но он показывает rows not define ошибок, которые rows not define

var id=7;

var sql = 'SELECT count(*) as cntStatus,type FROM user WHERE id= ?'
connection.query(sql, [id], function(err, rows, fields) {
  if (err) throw err;
  console.log('Query result: ', rows);


const use-later_count = rows[0].cntStatus;
console.log(rows[0].cntStatus);
});

**// print the result outside query for later use not working says error rows not define**
console.log(use-later_count);
Теги:

1 ответ

0
Лучший ответ

console.log(use-later_count); оператор будет выполнен до того, как запрос sql будет завершен как connection.query isync.

Вы можете вызвать функцию, которая должна это значение внутри connection.query функции обратного вызова

function functionThatNeedsRowsData(rows) {
  console.log(rows)
}

var sql = 'SELECT count(*) as cntStatus,type FROM user WHERE id= ?'
connection.query(sql, [id], function(err, rows, fields) {
  if (err) throw err;
  console.log('Query result: ', rows);

  functionThatNeedsRowsData(rows); // 

const use-later_count = rows[0].cntStatus;
console.log(rows[0].cntStatus);
});
  • 0
    Пожалуйста, вы можете проиллюстрировать далее, как вызвать эту функцию и консоль журнала / распечатать значение. Я новичок в nodejs. только учится
  • 0
    Извините, я не понимаю, спросить. functionThatNeedsRowsData(rows); это как вы можете вызвать функцию.
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню