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

44 lines
818 B
Markdown

# 11-数据队列
```js
// 模拟一个异步函数
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. 下载器