js实现并发控制
时间: 2023-10-11 19:08:19 浏览: 90
Web应用中并发控制的实现.pdf
在JavaScript中实现并发控制的一种常见方法是使用Promise和async/await。下面是一个简单的示例代码:
```javascript
function delay(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
async function task(name) {
console.log(`${name} started`);
await delay(Math.random() * 1000);
console.log(`${name} finished`);
}
async function runTasks() {
const promises = [];
for (let i = 0; i < 5; i++) {
promises.push(task(`Task ${i}`));
}
await Promise.all(promises);
console.log('All tasks finished');
}
runTasks();
```
在上面的代码中,我们定义了一个`delay`函数,它返回一个Promise,它会等待指定的毫秒数后解决Promise。然后我们定义了一个`task`函数,它接受一个名称参数,并模拟执行一个异步任务。最后,我们定义了一个`runTasks`函数,它会创建5个任务,并使用`Promise.all`等待它们全部完成后输出一条消息。
通过使用async/await和Promise.all,我们可以轻松地控制并发执行异步任务的数量。
阅读全文