// src/composables/useTaskQueue.js
// 创建任务队列

const _queues = new Map(); // index -> task[]

export function createTaskQueue(index) {
    if (!_queues.has(index)) _queues.set(index, []);
    return {
        enqueue(task) {
            const q = _queues.get(index);
            q.push(task);
            if (q.length === 1) task(); // 只有第一个任务时立即执行
        },
        next() {
            const q = _queues.get(index) || [];
            q.shift();
            if (q.length > 0) q[0](); // 执行下一个
        },
        clear() {
            _queues.set(index, []);
        },
        getNum() {
            return _queues.get(index) || [];
        }
    };
}

export function clearAllQueues() {
    _queues.clear();
}
