背景:展示的表格中的某一列是单独一个接口,所以又根据每一行的id去请求这一行那一个列的那个元素的值,代码如下
效果如下:
但是页面这一列没生效,是因为前端循环是同步的 接口请求是异步的 没法在循环里面请求接口
解决办法:循环是同步的没法暂停 你怎么暂停呢所以用await
解决如下:
getTasksByEmergencyId({ id: row.id }).then(async response => {
if (response.status !== 200) return
let reportTasks = response.data,
let len = response.data?.length ?? 0
for (let i = 0; i < len; i++) {
const res = await ackWatch({ id: reportTasks[i].id })
task.ackStatus = res.data
}
this.taskData = reportTasks
console.log(this.taskData)
})