//获取异步解析状态
const getAsyncResolveStatus = (row: SiteData) => {
row.resolve_loading = true
return site_resolve_status({ id: row.id })
.then(res => {
row.resolve_status = res.resolving_status
})
.finally(() => (row.resolve_loading = false))
}
// let isGettingList = ref(false)
const getList = () => {
if (isGettingList.value) {
return // 如果已经有一个 getList 操作正在进行,那么直接返回
}
isGettingList.value = true
stateInfo.listLoading = true
site_list({ ...state, ...stateInfo.pagination })
.then((res: any) => {
stateInfo.list = res?.list ?? []
stateInfo.list.forEach((item: any) => {
item.loading = false
item.resolve_loading = false
item.resolve_status = 0
})
stateInfo.pagination.total = +res?.total ?? 0
Promise.all(stateInfo.list.map((v, i) => getAsyncResolveStatus(v, i)))
})
.finally(async () => {
stateInfo.listLoading = false
//异步获取列表每条数据的解析状态
for (let i = 0; i < stateInfo.list.length; i++) {
await getAsyncResolveStatus(stateInfo.list[i] as any)
}
isGettingList.value = false
})
}
table 单个字段使用单独接口更新状态
最新推荐文章于 2024-06-06 17:42:42 发布