从javascript中的异步函数获取返回值

问题描述

async function someFunction() {
    try {
      var key =  await dec.awsDecrypt('dev-frontend')
      return key;
    } catch(err) {
    }
}

//calling the function 
const result = someFunction()

上面,我有一个异步的,它返回值key。我正在尝试通过将函数分配给变量result来检索该值,但是在尝试获取Promise { <pending> }作为响应时,我试图这样做。有什么建议吗?

解决方法

您的someFunction将返回一个承诺,因为您将async关键字置于其前面。

您也需要等待它。

const result = someFunction().then(console.log)

const result = someFunction().then((result)=>console.log(result))    

或者您可以在称为立即调用函数的内部运行整个程序。这样一来,您还可以使immediately invoked function异步,并在那里使用await。