javascript - 为什么这个 async/await 函数返回一个 promise ?

标签 javascript asynchronous promise async-await

当我使用 async/await 运算符时,我不确定为什么以下函数会返回 promise ?

getBase64 = async (url) => {
  const response = await axios.get(url, {
  responseType: 'arraybuffer'
  })

  const buffer = new Buffer.from(response.data,'binary').toString('base64')
  return ('data:image/jpeg;base64,' + buffer)
}

我知道我可以简单地添加 .then(data => console.log(data)) 但我想将原始数据分配给一个变量,例如:

const base64Img = getBase64()

...这是不可能的,因为由于某种原因返回类型是一个 promise 。

最佳答案

异步函数只是一个 promise 。如果你想要返回值,你也需要等待它。

const bas64Img = await getBase64()

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function

关于javascript - 为什么这个 async/await 函数返回一个 promise ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58103870/

相关文章:

javascript - 使用 switch case 计算百分比

javascript - 如果嵌套对象存在,则动态设置它们的属性。重新创建 _.extend

javascript - Node.js 中的异步函数

python - Tornado 中的异步如何工作?

swift - NSOperation 中的 Firebase 异步回调未返回

angular - Typescript promise 在 .then 之后丢失值

javascript - promise 数组和 Promise.all()

改变背景图片的javascript函数

javascript - JavaScript 代码的内存占用

javascript - 将附加信息传递给 Promise 错误处理程序