如何解决:“无法在异步函数外使用关键字'await'”

时间:2019-11-11 01:21:24

标签: vuejs2 laravel-mix sweetalert2

在我的Vue组件内部。我有一个显示sweetalert2输入消息的方法(显示)。但是使用laravel mix(npm run watch)后,它返回错误

=SUMPRODUCT(COUNTIF(INDIRECT("'Week"&FILTERXML("<a><b>"&SUBSTITUTE(A2,",","</b><b>")&"</b></a>","//b")&"'!Y3"),"W"))

错误是:

  

不能在异步函数外使用关键字“ await”

2 个答案:

答案 0 :(得分:0)

async show(){ 
   //here
    const { value: email } = await Swal.fire({
        title: 'Input email address',
        input: 'email',
        inputPlaceholder: 'Enter your email address'
    });

    if (email) {
        Swal.fire('Entered email: ' + email);
    }
}

答案 1 :(得分:0)

我不确定您对show方法的调用语法是什么,但是您需要将该函数声明为async才能使用await

例如,在模块方法中:

const show = async () => {
  const { value: email } = await Swal.fire({
    title: 'Input email address',
    input: 'email',
    inputPlaceholder: 'Enter your email address'
  })

  if (email) {
    Swal.fire('Entered email: ' + email)
  }
}

作为类中的实例方法:

class MyComponent {
  async show() {
    const { value: email } = await Swal.fire({
      title: 'Input email address',
      input: 'email',
      inputPlaceholder: 'Enter your email address'
    })

    if (email) {
      Swal.fire('Entered email: ' + email)
    }
  }
}