const useTasksFinish = (tasksNum) => {
let finishNum = 0
let isAllFinish = false
let doResolve
const finishTask = () => {
finishNum++
if (finishNum === tasksNum) {
isAllFinish = true
doResolve(true)
}
}
const waitTasks = async () => {
if (isAllFinish) {
return isAllFinish
}
return new Promise((resolve) => {
doResolve = resolve
})
}
return { finishTask, waitTasks }
}
export default useTasksFinish