async/await的简单问题

  async submitForm(formName) {
        this.$refs[formName].validate((valid) => {
            if (valid) {
                const res = await scdup(this.ruleForm);
            }
            return false;
        });
    },
    这是我的一个提交方法,scdup()函数返回的是一个promise,为什么我这样写,vue报错呢,await是一个保留字,请问我应该怎么写呢
阅读 2.3k
3 个回答

不是vue报错,而是js报错。await只能用在async函数中,你的函数不是async的,加上应该就好了

await只能用在async函数中,你可以这样改写

async submitForm(formName) {
    this.$refs[formName].validate(async (valid) => {
        if (valid) {
            const res = await scdup(this.ruleForm);
        }
        return false;
    });
}

单你要确保validate是支持promise回调的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题