Unexpected reserved word ‘await‘

26 篇文章 1 订阅

 报错:Unexpected reserved word 'await'


    async handleDelete() {
      let folderFilesIds = [1, 2]
      this.$confirm('此操作将永久删除文件, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(() => {
        await this.confirmHandleFiles(folderFilesIds)
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },

修改为:

    handleDelete() {
      let folderFilesIds = [1, 2]
      this.$confirm('此操作将永久删除文件, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async () => {
        await this.confirmHandleFiles(folderFilesIds)
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消删除'
        });
      });
    },

之前报错Unexpected reserved word 'await',是因为错把async放到handleDelete上,这里async和await是成对出现的,所以应该放在匿名函数的位置,加async的函数会被await阻塞,await会跳出async让出线程,所以说学一个东西是一回事,会用一个东西是另外一回事。。自勉下

  • 70
    点赞
  • 61
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
### 回答1: 这是因为在当前的上下文中,await关键字不被允许使用。可能是因为当前的代码不在一个异步函数中,或者当前的JavaScript环境不支持async/await语法。需要检查代码并确保正确使用了async/await语法。 ### 回答2: “unexpected reserved word await”是一种错误提示信息,通常会出现在JavaScript编程中。它表示在不适当的位置使用了await关键字,导致代码无法正常执行。 在JavaScript中,await关键字用于等待异步函数的返回结果。它只能在异步函数内部使用,并且必须与async关键字一起使用。如果在普通函数中使用await,或者在异步函数没有加上async关键字的情况下使用await,就会出现“unexpected reserved word await”的错误提示。 解决这种错误的办法很简单,只需要将代码调整为符合语法规则的形式即可。如果要在一个普通函数中等待异步函数的返回结果,可以使用Promise对象的then方法来处理。如果要在异步函数内部使用await,必须在函数前面加上async关键字。 除了以上情况,还有其他可能导致“unexpected reserved word await”错误的原因。例如,在ES6之前的版本中并不支持await关键字,因此如果代码在旧版本的浏览器或Node.js中运行,也会出现这个错误。解决方法是升级浏览器或更新Node.js版本。 总之,在JavaScript编程中,当出现“unexpected reserved word await”错误时,需要仔细检查自己的代码,确认是否在正确的位置和正确的方式使用了await关键字,并考虑到兼容性问题。这样才能确保程序能顺利执行,达到设计的预期效果。 ### 回答3: “unexpected reserved word await”是指在JavaScript中使用了“await”关键字但出现了错误,导致程序无法正常运行。在ECMAScript 2017之前的JavaScript版本中,没有“await”关键字,因此在运行较旧版本的JavaScript代码时,可能会出现此错误。 “await”是ES2017引入的关键字,它用于异步函数中等待其他异步函数的结果。当使用“await”关键字时,JavaScript会暂停当前函数的执行,直到异步操作返回结果并将其包装成一个解决或拒绝的Promise对象。 通常,“await”关键字只能在异步函数中使用,这是因为只有在异步函数中,JavaScript运行时才能正确处理“await”关键字。如果在同步函数中使用了“await”关键字,就会出现上述错误提示。 要解决这个错误,可以将包含“await”关键字的代码放入异步函数中。或者,如果使用的是较旧版本的JavaScript,可以将代码转换为使用回调函数或Promise对象来处理异步操作,而不是使用“await”关键字。另外,还可以升级到支持ES2017及更高版本的JavaScript运行时,以使用“await”关键字。 最后,需要注意的是,“await”关键字只能在异步上下文中使用,例如异步函数或异步生成器。如果在其他上下文中使用“await”关键字,也会导致类似的错误。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值