是否有另一种方法可以不使用promise从此SQL返回值?

时间:2019-07-25 12:00:11

标签: javascript node.js

这是我尝试过的代码,当我尝试返回soc时说它是未定义的,我知道这是因为它是在嵌套的promise中定义的。我的问题是我如何不使用.then承诺就返回sql查询的结果,因为我不完全理解它们,它们只会使我感到痛苦。

async function get_charge_level() {
    var config = {
            <config_settings>
        };
        sql.setDefaultConfig(config);
        await sql.execute( {
            query: "some query"
        } ).then(async function( id ) {

            await sql.execute( {
                query: "some other query"
            } ).then(async function( soc ) {
            })
        })

    return soc
}

1 个答案:

答案 0 :(得分:1)

您已经在使用async-await语法,因此只需进行如下更改:

async function get_charge_level() {
  var config = {
    //<config_settings>
  }
  sql.setDefaultConfig(config);
  let id = await sql.execute({
    query: "some query"
  })
  let soc = await sql.execute({
    query: "some other query"
  })
  return soc
}