vue 异步延时执行

一、问题如下:
弹框输入内容,输入完提交。提交参数需要在input失去焦点后请求拿到,导致输入完
点击提交时,无法拿到所需要的数据。需要点击时延时

二、解决方案
使用Promise解决

 <script>
const timer = ms => new Promise(resolve => setTimeout(resolve, ms))
methods: {
	async save () {
      await timer(500)
      //  获取参数
      const data = this.$refs.popForm.getData()
      // 调用接口
      const res = await this.post(this.h9api.insertJstzUsingPOST)
      // 传参数
      ({ ...data })
      if (res.success) {
        	// 成功
      	} else {
      		// 失败
        	this.$message.error(res.message, 2)
      	}
    }
}
  </script>
Logo

前往低代码交流专区

更多推荐