解决vue异步

  add(this.form).then(response => {
        this.id = response.msg;
      });
      let obj = {
        businessKey: this.id,
        taskName: "test",
        taskContent: "1111",
      }
       start(JSON.stringify(obj)).then(e => {
        if (e.code == '200') {
        }
      })

 这里我是想在start方法中取到add中赋值的id,id是我定义的一个全局变量,然后我在start前打印this.id,一直是空的,没有值,后来发现是方法异步的问题。

然后在add和start方法前面加上await就可以完美的解决这个问题。还需要在外层方法加上async。

async startPro() {
     await add(this.form).then(response => {
        this.id = response.msg;
      });
      let obj = {
        businessKey: this.id,
        taskName: "外部专家评审流程",
        taskContent: this.form.subject,
      }
      await start(JSON.stringify(obj)).then(e => {
        if (e.code == '200') {
         
        }
      })
    },

 

你可能感兴趣的:(vue.js,前端,javascript)