JavaScript中,then...catch结构

在JavaScript中,then...catch结构用于处理Promise对象的错误,而finally块用于定义在trycatch代码块之后无论如何都会执行的代码块。

下面是一个使用then...catch...finally结构的代码示例:

// 创建一个异步函数  
function asyncFunction() {  
  return new Promise((resolve, reject) => {  
    setTimeout(() => {  
      resolve('成功的结果'); // 异步操作成功时调用resolve  
    }, 1000);  
  });  
}  
  
// 使用then...catch...finally处理异步函数的错误  
asyncFunction()  
  .then(result => {  
    console.log('成功的结果:', result); // 异步操作成功时执行的代码  
    return '成功的结果2'; // 返回一个值给下一个then方法  
  })  
  .then(result => {  
    console.log('第二个then的结果:', result); // 接收到上一个then方法返回的值时执行的代码  
  })  
  .catch(error => {  
    console.error('发生错误:', error); // 捕获异步操作中的错误  
  })  
  .finally(() => {  
    console.log('finally块被执行'); // 无论前面的代码是否发生异常,都会执行的代码块  
  });

在上面的代码中,我们首先创建了一个名为asyncFunction的异步函数,它返回一个Promise对象。当异步操作成功完成时,我们调用resolve方法传递结果;当异步操作失败时,我们调用reject方法传递错误对象。

然后,我们调用asyncFunction()函数,并使用then...catch...finally结构来处理返回的Promise对象。在第一个then方法中,我们定义了一个回调函数,该函数将在异步操作成功时执行。在回调函数中,我们打印出成功的结果,并返回一个值给下一个then方法。

接下来,在第二个then方法中,我们定义了一个回调函数,该函数将在接收到上一个then方法返回的值时执行。在回调函数中,我们打印出接收到值的结果。

catch方法中,我们定义了一个回调函数,该函数将在捕获到Promise对象中的错误时执行。在回调函数中,我们打印出发生的错误。

最后,在finally块中,我们定义了一个回调函数,该函数将在前面的代码块(无论是成功还是失败)执行完毕后执行。在回调函数中,我们打印出"finally块被执行"的消息。无论前面的代码是否发生异常,都会执行这个代码块。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值