在JavaScript中,可以使用异步函数和Promise来实现并行和串行执行。
async function parallelExecution() {
const task1 = new Promise((resolve) => {
setTimeout(() => {
console.log('Task 1 completed');
resolve();
}, 1000);
});
const task2 = new Promise((resolve) => {
setTimeout(() => {
console.log('Task 2 completed');
resolve();
}, 2000);
});
await Promise.all([task1, task2]);
console.log('All tasks completed');
}
parallelExecution();
在上面的示例中,task1和task2是两个异步任务,它们同时执行。Promise.all()将等待所有的Promise都完成后才会继续执行后面的代码。在这个例子中,'All tasks completed'将会在task1和task2都完成后才会被打印出来。
async function sequentialExecution() {
await task1();
await task2();
console.log('All tasks completed');
}
async function task1() {
return new Promise((resolve) => {
setTimeout(() => {
console.log('Task 1 completed');
resolve();
}, 1000);
});
}
async function task2() {
return new Promise((resolve) => {
setTimeout(() => {
console.log('Task 2 completed');
resolve();
}, 2000);
});
}
sequentialExecution();
在上面的示例中,task1和task2是两个异步任务,它们按顺序执行。通过使用await关键字,task2将在task1完成后才会执行。在这个例子中,'All tasks completed'将会在task2完成后才会被打印出来。
这是使用异步函数按顺序执行的两种解决方法。你可以根据自己的需求选择适合的方法。