解决异步功能时,承诺始终是不确定的

时间:2018-08-15 09:03:32

标签: javascript node.js promise

我正在使用async函数进行数据库查询,然后从另一个带有promise的文件中调用它。但是promise的结果始终是undefined

我的数据库功能:

async function findSomething(id) {
   var query = "my_query";
   connection.query(query);
};

这就是我从另一个文件中调用它的方式:

DbUtil.findSomething(1).then(function(result, error) {
   if(!error) {
    console.log("the result " + result);
  }
});

结果始终为undefined

请注意,调用函数DbUtil.findSomething是从另一个文件中调用的。我不想将其链接到findSomething()函数中。

我想念什么?

1 个答案:

答案 0 :(得分:3)

您缺少return语句。

没有一个函数的任何函数都会返回undefined

由于findSomethingasync函数相同,因此返回值用于解析其返回的承诺。

async function findSomething(id) {
  var query = "my_query";
  return connection.query(query);
};