JavaScript异步(async/await):得到请求结果并使用

​
  async delRow() {
                console.log(this.multipleSelection2)
                if (this.multipleSelection2.length > 0) {
                    let selectData = this.multipleSelection2
                    let milestoneNames = ""
                    for (let i = 0; i < selectData.length; i++) {
                        //如果有合同id,去判断该里程碑是否已被关联
                        if (selectData[i].contract_id != null) {
                            let result = await this.checkRelevance(selectData[i].id)
                            console.log("delRow -> result", result)
                            if (result != null) {
                                if (result) {
                                    if (milestoneNames === "") {
                                        milestoneNames = milestoneNames + selectData[i].receive_name
                                    } else {
                                        milestoneNames = milestoneNames + "," + selectData[i].receive_name
                                    }
                                }
                            }
                        }
                    }
                    if (milestoneNames != "") {
                        this.$message.warning({
                            message: "里程碑【" + milestoneNames + "】已被关联不能删除!"
                        })
                        return
                    }
                    for (let i = 0; i < this.multipleSelection2.length; i++) {
                        for (let j = 0; j < this.dataTable.length; j++) {
                            if (this.multipleSelection2[i].index === this.dataTable[j].index) {
                                this.dataTable.splice(j, 1);
                            }
                        }
                    }
                } else {
                    this.$message.warning({
                        message: "请选择后再执行删除"
                    });
                }
            },
            //根据里程碑id去检验是否已被关联
            async checkRelevance(id) {
                let result = await this.axiosHelper.get('/v0.1/api/contract/checkRelevance/' + id)
                    .then(res => {
                        console.log("checkRelevance -> res.data", res.data)
                        return res.data
                    })
                    .catch(error => {
                        this.$message.error(
                            "校验里程碑失败"
                        )
                        error
                        return null
                    })
                return result
            },

​

 

posted @ 2022-09-16 14:50  小牛同学丶  阅读(216)  评论(0编辑  收藏  举报