下面是一个使用Promise链式执行任务的示例代码:
function task1() {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Task 1 completed');
resolve();
}, 1000);
});
}
function task2() {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Task 2 completed');
resolve();
}, 2000);
});
}
function task3() {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Task 3 completed');
resolve();
}, 1500);
});
}
task1()
.then(task2)
.then(task3)
.then(() => {
console.log('All tasks completed');
})
.catch((error) => {
console.error('An error occurred:', error);
});
在上面的代码中,我们定义了三个任务(task1、task2、task3),它们分别模拟了执行耗时的操作。每个任务通过返回一个Promise对象来表示异步操作的结果。
我们可以使用.then()
方法来按顺序执行这些任务。在这个示例中,task1会先执行,然后是task2,最后是task3。.then()
方法会等待前一个任务完成后再执行下一个任务。
最后,我们可以通过.catch()
方法来捕获可能发生的错误,并在控制台输出错误信息。
执行上述代码,你将会看到以下输出:
Task 1 completed
Task 2 completed
Task 3 completed
All tasks completed
这表明所有的任务按照顺序执行,并且在所有任务完成后输出了"All tasks completed"。