then() 方法用于链式调用异步操作,处理 Promise 结果。用法:promise.then(resolveHandler, rejectHandler),其中 resolveHandler 处理成功结果,rejectHandler(可选)处理错误结果。then() 可链式调用,处理多个异步操作。resolveHandler 可返回一个值或另一个 Promise,从而传递结果。rejectHandler 处理 Promise 的拒绝结果。then() 方法返回一个新的 Promise 对象

JavaScript 中 then() 的用法
then() 方法是 JavaScript 中 Promise 对象常用的方法之一。它用于链式调用异步操作,并在操作完成时获取并处理结果。
用法
promise.then(resolveHandler, rejectHandler);
其中:
-
promise:要附加处理程序的 Promise 对象。 -
resolveHandler:一个可接受单个参数的函数,用于处理 Promise 成功结果。 -
rejectHandler(可选):一个可接受单个参数的函数,用于处理 Promise 失败结果。
链式调用
then() 方法的强大之处在于它可以被链式调用,以便对多个异步操作进行顺序处理。例如:
promise
.then(result => {
// 处理成功结果
return anotherPromise(result);
})
.then(result => {
// 处理另一个成功的结果
})
.catch(error => {
// 处理拒绝(错误)
});处理结果
then() 方法的参数函数可以返回一个值或另一个 Promise 对象:
-
返回值:如果
resolveHandler返回一个值,则该值将作为下一个then()处理程序的参数传递。 -
Promise 对象:如果
resolveHandler返回一个 Promise 对象,则下一个then()处理程序将在该 Promise 对象完成后被调用,并使用其结果作为参数。
处理错误
then() 方法的第二个参数函数 rejectHandler 用于处理 Promise 的拒绝(错误)结果。如果 Promise 被拒绝,则 rejectHandler 将被调用,并传入拒绝的原因。
注意点
-
then()方法总是返回一个新的 Promise 对象,即使它没有被显式使用。 - 如果
resolveHandler或rejectHandler函数抛出错误,则新 Promise 将被拒绝,并传递该错误。 -
then()方法不能直接处理同步错误。要处理同步错误,可以使用try...catch语句或Promise.resolve()和Promise.reject()方法。










