JavaScript 异步操作完成后执行代码:使用 Promise.all()
可以使用 Promise.all() 方法来等待所有异步操作完成后再执行其他代码。具体实现如下:
Promise.all(R.private.yearArr.map(async (item) => {
// 获取养护完成任务数
let curing = await DBKit.count('getTaskFinish.count', {}, { TASK_TYPE: 'curing%', HANDLE_TIME: item, PROJECT_ID: R.private.projectId })
curingArr.push(curing)
// 获取检查完成任务数
let check = await DBKit.count('getTaskFinish.count', {}, { TASK_TYPE: 'inspection%', HANDLE_TIME: item, PROJECT_ID: R.private.projectId })
checkArr.push(check)
// 获取养护检查总任务数
arr.push(curing + check)
})).then(() => {
const a = 1
// 在这里可以继续写需要在异步操作完成后执行的代码
})
使用 Promise.all() 方法可以将多个异步操作封装成一个 Promise 对象,当所有异步操作都完成时,Promise 对象的状态变为已完成,然后可以通过 .then() 方法来执行其他代码。在这个例子中,我们将获取任务数的异步操作封装成一个 Promise 对象数组,然后通过 Promise.all() 方法等待所有异步操作完成后执行 const a = 1 的代码。
原文地址: https://www.cveoy.top/t/topic/pa6w 著作权归作者所有。请勿转载和采集!