当前位置: 首页 > 知识库问答 >
问题:

如何在promise内使用async/await-Vue[重复]

张博涛
2023-03-14

这是我的方法:

async sendEmail() {
  this.isActive = true
  this.$validator.validate().then(result => {
    if (result) {
      await axios.post('url', data)
      this.isActive = false
    }
  })
}

我显示加载程序时isActive=true,但使用waitthis.$validator抛给我一个关于字wait保留的错误。对于验证,我使用VeeValester

如何使用wait-inside$validatorpromise?

共有1个答案

艾原
2023-03-14

不能在非异步函数中直接使用wait关键字。您直接在匿名函数中使用wait关键字,该函数然后的参数;这个匿名函数不是async,所以您有一个语法错误。

下面是我将如何重写此函数:

async sendEmail() {
  this.isActive = true
  let result = await this.$validator.validate();
  if (result) await axios.post('url', data);
  this.isActive = false;
}

我发现当您已经在一个异步函数中时,避免使用然后会更干净。

顺便说一句,我不确定您的数据变量定义在哪里。

 类似资料:
  • 我已经复习了/,在复习了几篇文章之后,我决定自己测试一下。然而,我似乎无法理解为什么这不起作用: 控制台输出以下内容(节点V8.6.0): >外:“对象承诺” >内部:嘿那里 为什么函数内部的日志消息会在之后执行?我认为创建/的原因是为了使用异步任务执行同步执行。 有没有一种方法可以使用函数内部返回的值,而不用后面的?

  • 我读到过,在中包含异步是async/await的反模式。下面的代码可以工作,但是我想知道如果没有中的,如何实现相同的结果。 谢了。

  • 问题内容: 以下函数从url获取图像并进行加载,然后返回其宽度和高度: 问题是,如果我做这样的事情: 我得到,因为该函数运行但图像尚未加载。 仅当照片已加载且宽度和高度已可用时,如何使用等待/异步返回值? 问题答案: 如何使用/ 将此回调函数转换为Promise? 你不知道与往常一样,您可以使用构造函数。没有语法糖。 仅当照片已加载且宽度和高度已经可用时,如何使用/ 记录值? 你可以做

  • 本文向大家介绍vue如何使用async、await实现同步请求,包括了vue如何使用async、await实现同步请求的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了vue如何使用async、await实现同步请求,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 以下是vue method的demo: 其中方法需要用async修饰, 然

  • 这就是它看起来的样子。 它工作得很好,等待数据加载,然后开始操作。但这是相当多的代码,有没有更好的方法来做它?

  • 所以我一直很高兴地使用async/await,因为Firebase云函数支持节点8。不过我有一件事要做。当使用可调用函数时,会告诉您必须在函数中返回promise,否则它将无法正常工作。当使用原始promise时,我很清楚如何使用它: 但是现在,随着异步等待,我不确定如何返回这个“promise链”: 有人知道吗?