微信小程序> awaitisareservedword问题解决方式

awaitisareservedword问题解决方式

浏览量:1897 时间: 来源:april_4

1 async 和 await 的概念,建议看这一篇文章https://www.cnblogs.com/SamWeb/p/8417940.html

我遇到的是在vue element组件里面的,原来的写法是这样的,组件表单校验成功后(createProjectConfirm函数里),先新增一条记录,再刷新列表(handleResult)

handleResult (res) {        if (res.state !== 0) {          this.$message({            message: res.message,            type: 'warning'          });        } else {          this.$message({            message: res.message,            type: 'success'          });          this.$refs['projectForm'].resetFields();          this.dialogFormVisible = false;          this.getProjectList(1);        }      },      createProjectConfirm () {        this.$refs['projectForm'].validate((valid) = {          if (valid) {            let param = {              projectName: this.projectForm.projectName,              projectDescription: this.projectForm.projectDescription            };            this.$post('/api/project', param).then(res = {              this.handleResult(res);            });

2 后来尝试了下async 和 await,这样是可以成功的

      createProjectTest() {       let param = {              projectName: this.projectForm.projectName,              projectDescription: this.projectForm.projectDescription            };       return this.$post('/api/project', param).then(res = {          return res;        });      },       createProjectConfirm () {        this.$refs['projectForm'].validate( async (valid) ={            if(valid) {                let res = await this.createProjectTest();                console.log(res);                if(res.state !== 0) {                  this.$message({                          message: res.message,                          type: 'warning'                        });                } else{                  this.$message({                          message: res.message,                          type: 'success'                        });                        this.$refs['projectForm'].resetFields();                        this.dialogFormVisible = false;                        this.getProjectList(1);                }            }        })

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

 

小程序

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

最新资讯

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎