以下为ChatGPT自动生成的解答,正确与否请自行判断。 也许你也可以从大家的发帖中找到想要的答案!
BFE.devAI解答 - 前端面试问题
62. Promise是什么? 如何让多个Promise按顺序resolve?
Promise是一种处理异步操作的对象。它代表了一个尚未完成但将在未来完成的操作,并返回一个包含成功或失败结果的值。
要按顺序解决多个Promise,可以使用Promise chaining。我们可以使用 .then() 方法包装每个Promise并告诉它们执行顺序。例如:
const promise1 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 1');
}, 2000);
});
const promise2 = new Promise((resolve, reject) => {
setTimeout(() => {
resolve('Promise 2');
}, 1000);
});
promise1
.then(result1 => {
console.log(result1);
return promise2;
})
.then(result2 => {
console.log(result2);
});
在上面的代码中,我们创建了两个Promise并告诉它们运行的时间。在第一个Promise成功后,我们使用 .then() 方法告诉它接下来运行第二个Promise,并在第二个Promise成功后,我们打印每个Promise的结果。
输出将是:
Promise 1
Promise 2