Uncaught SyntaxError: await is only valid in async function

更新日期: 2019-07-16 阅读次数: 9341 字数: 167 分类: Javascript

在使用 sweet alert 组件时,遇到一个错误提示:

Uncaught SyntaxError: await is only valid in async function

function edit_dis_top(user_id) {
  const {value: formValues} = await Swal.fire({
      title: '设置推荐人',
      // ...
  })

  if (formValues) {
      Swal.fire(JSON.stringify(formValues))
  }
}

这让我想起了 C# 的 await 关键字。。。

Async 有什么用?

从内部写法看,await 提供了异步操作的同步写法。

await consumes promise/future/task-returning methods/functions and async marks a method/function as capable of using await. Await is actually doing the same process of promise/resolve and as the function is async other task is processing in a parallel way

解决方法是:

在 function 前加上 async 关键字。

async function edit_dis_top(user_id) {
  const {value: formValues} = await Swal.fire({
      title: '设置推荐人',
      // ...
  })

  if (formValues) {
      Swal.fire(JSON.stringify(formValues))
  }
}

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式