卓越飞翔博客卓越飞翔博客

卓越飞翔 - 您值得收藏的技术分享站
技术文章55542本站已运行403

js中then的用法

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

js中then的用法

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() 方法。
卓越飞翔博客
上一篇: let在js中的作用
下一篇: 返回列表
留言与评论(共有 0 条评论)
   
验证码:
隐藏边栏