Получить значение ОБЪЕКТА PROMISE В NODEJS

#node.js #angularjs #promise

#node.js #angularjs #обещание

Вопрос:

У меня есть функция nodejs, которая возвращает значение следующего запроса. Функция возвращает значение как объект. как мне получить значение из объекта Promise? Когда я попытался напечатать значение, оно печатается как «[обещание объекта]»

 SELECT IF(COUNT(*) > 0, 'true', 'false') AS MYVAL FROM MY_TABLE_STATUS WHERE ID = '100'

 

Комментарии:

1. В Javascript вы получаете значения из обещания, используя либо .then() или await в обещании. Это должно быть подробно описано в любой вводной статье или руководстве по использованию promises.

Ответ №1:

 global.mysql = require('mysql');
global.mySqlConnection = mysql.createConnection({
  host: 'localhost',
  port:3306,
  user: 'root',
  password: 'password',
  database: 'db_name'
});


async getData()=>{
       var myPromise = () => {
        return new Promise((resolve, reject) => {
             mySqlConnection.query("SELECT IF(COUNT(*) > 0, 'true', 'false') AS MYVAL FROM MY_TABLE_STATUS WHERE ID = ?",[100],(err, result) => {
                     error ? reject(error) : resolve(results);
             });
        });
       }
   var result = await (myPromise());
   console.log('result ==',result);
   mySqlConnection.destroy();
   return resu<
}
 

Комментарии:

1. Я получаю следующую ошибку. Я что-то пропустил?? ann@Ann-MacBook-Pro тест% узла test.js /Users/ann/Code/nodejs/test/test.js:11 асинхронное получение данных()=>{ ^^^^^^^ Ошибка синтаксиса: неожиданный идентификатор в wrapSafe (узел: внутренний / модули / cjs / загрузчик: 1018:16) в модуле._compile (узел: внутренний / модули / cjs/loader:1066:27) в объекте. Module._extensions..js (узел: внутренний / модули / cjs/ загрузчик:1131:10)