2025-03-29 14:35:49 +08:00

818 B

11-数据队列

// 模拟一个异步函数
function asyncFunction(task) {
    return new Promise(resolve => {
        setTimeout(() => {
            console.log(task);
            resolve();
        }, 1000);
    });
}

// 创建一个任务队列
const taskQueue = [];

// 添加任务到队列
function addToQueue(task) {
    taskQueue.push(task);
    if (taskQueue.length === 1) {
        processQueue();
    }
}

// 处理队列中的任务
async function processQueue() {
    while (taskQueue.length > 0) {
        const task = taskQueue[0];
        await asyncFunction(task);
        taskQueue.shift(); // 移除已处理的任务
    }
}

// 添加任务到队列
addToQueue('Task 1');
addToQueue('Task 2');
addToQueue('Task 3');

todo:

  1. 多任务并发
  2. 完成一个添加一个
  3. 下载器