前言
随着前端的发展,异步编程在我们的日常工作中变得越来越常见。在异步编程中,Promise 是一种强大的工具,它受到了广泛的应用。然而,在使用 Promise 的时候,掌握 then 和 finally 的使用是至关重要的。本文将详细介绍 promise 中 then 和 finally 的使用方式,并提供相关示例代码。
Promise 简介
在介绍 then 和 finally 之前,我们先来回顾一下 Promise 的基本概念。Promise 是一种对象,它代表一个异步操作,可以用来处理异步操作的结果。Promise 可以是以下三种状态之一:
Pending(等待中):Promise 实例被创建时的初始状态。此时,Promise 的结果还未被决定。
Fulfilled(已完成):异步操作成功完成,Promise 的结果已经被决定,并返回一个值。
Rejected(已拒绝):异步操作失败,Promise 的结果已经被决定,并返回一个错误。
通常情况下,我们会使用 then 和 catch 方法来处理 Promise 对象的状态变化。
then 方法
then 方法用于指定 Promise 成功或失败后的回调函数。它的基本语法如下:
promise.then(onFulfilled[, onRejected]);
其中,onFulfilled 是当 Promise 被成功解决时执行的回调函数,onRejected 是当 Promise 被拒绝时执行的回调函数。then 方法会返回一个新的 Promise 对象,因此可以链式调用多个 then 方法。
then 方法的使用示例
以下是一个使用 then 方法的示例:
-- -------------------- ---- ------- --- ----------------- ------- -- - ------------- -- - -------------- -------- -- ------ -- -------------- -- - -------------------- -- ------- -- - ------------------- ---
在这个示例中,我们创建了一个新的 Promise 对象,等待一秒后用 resolve 方法来解决该 Promise。然后,我们调用 then 方法来处理解决该 Promise 后的结果。
finally 方法
finally 方法用于指定无论 Promise 完成状态如何都需要执行的回调函数。它的基本语法如下:
promise.finally(onFinally);
其中,onFinally 是一个回调函数,无论 Promise 如何完成,它都将被调用。
finally 方法的使用示例
以下是一个使用 finally 方法的示例:
-- -------------------- ---- ------- --- ----------------- ------- -- - ------------- -- - -------------- -------- -- ------ -- -------------- -- - -------------------- -- ------- -- - ------------------- -- ----------- -- - ----------------------- ---
在这个示例中,我们创建了一个新的 Promise 对象,等待一秒后用 resolve 方法来解决该 Promise。然后,我们使用 then 方法来处理 Promise 的结果,并使用 finally 方法指定在 Promise 完成后始终需要执行的代码块。
总结
在本文中,我们讲解了 Promise 中 then 和 finally 的使用方式。then 方法用于指定 Promise 成功或失败后具体的处理,而 finally 方法则用于在 Promise 完成后指定总是需要执行的代码块。当我们在使用 Promise 进行异步编程时,熟练掌握 then 和 finally 的使用方式将大大提高我们的编程效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cd6e331519ea946c13ea01