Uncaught SyntaxError: await is only valid in async function

更新日期: 2019-07-16 阅读次数: 597 字数: 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))
  }
}

爱评论不评论

近期节日

2019年09月20日 国际爱牙日
2019年09月21日 国际和平日
2019年09月22日 世界无车日
2019年09月23日 秋分
2019年09月23日 国际聋人节
2019年09月27日 世界旅游日
2019年10月01日 国庆节
2019年10月04日 世界动物日
2019年10月07日 重阳节
2019年10月08日 寒露
2019年10月09日 世界邮政日
2019年10月10日 辛亥革命纪念日
查看更多节日