MST

星途 面试题库

面试题:JavaScript中Promise链式调用与错误处理

假设有三个异步操作,分别为`asyncOperation1`、`asyncOperation2`、`asyncOperation3`,每个操作都返回一个Promise。`asyncOperation1`成功时传递的数据作为`asyncOperation2`的参数,`asyncOperation2`成功时传递的数据作为`asyncOperation3`的参数。如果其中任何一个操作失败,要捕获错误并进行统一处理,最后无论成功或失败都执行一个收尾操作。请用Promise链式调用的方式实现这个流程。
21.6万 热度难度
编程语言JavaScript

知识考点

AI 面试

面试题答案

一键面试
asyncOperation1()
  .then(result1 => asyncOperation2(result1))
  .then(result2 => asyncOperation3(result2))
  .then(finalResult => {
      console.log('所有操作成功,最终结果:', finalResult);
      // 收尾操作
      finalCleanup();
    })
  .catch(error => {
      console.error('操作过程中出现错误:', error);
      // 错误处理的收尾操作
      errorCleanup();
    })
  .finally(() => {
      console.log('统一的收尾操作');
    });

function finalCleanup() {
  // 成功时的收尾操作逻辑
}

function errorCleanup() {
  // 错误时的收尾操作逻辑
}