#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)