【问题标题】:Get PROMISE OBJECT Value IN NODEJS在 NODEJS 中获取 PROMISE OBJECT 值
【发布时间】:2021-04-24 11:13:08
【问题描述】:

我有一个 nodejs 函数,它返回以下查询的值。该函数将值作为对象返回。我如何从 Promise 对象中获取值?当我尝试打印该值时,它打印为“ [object Promise]”

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

【问题讨论】:

  • 在 Javascript 中,您可以通过在 Promise 上使用 .then() 或 await 从 Promise 中获取值。这应该在任何关于使用 Promise 的介绍性文章或教程中全面介绍。

标签: node.js angularjs promise


【解决方案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 result;
}

【讨论】:

  • 我收到以下错误。我错过了什么吗? ann@Ann-MacBook-Pro test % node test.js /Users/ann/Code/nodejs/test/test.js:11 async getData()=>{ ^^^^^^^ SyntaxError: Unexpected identifier at wrapSafe ( node:internal/modules/cjs/loader:1018:16) 在 Module._compile (node:internal/modules/cjs/loader:1066:27) 在 Object.Module._extensions..js (node:internal/modules/cjs /loader:1131:10)
猜你喜欢
  • 1970-01-01
  • 2020-04-13
  • 1970-01-01
  • 2021-10-07
  • 2019-01-03
  • 2019-03-27
  • 2015-12-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多