JavaScrpt中的函数then是什么意思

then() 是 JavaScript 中 Promise 对象的一个方法,用于处理异步操作的结果,当 Promise 对象的状态变为 resolved(成功)时,then() 方法会被调用,并将结果传递给指定的回调函数。then() 方法返回一个新的 Promise 对象,可以继续链式调用其他 then() 方法或 catch() 方法。

then() 方法的基本用法

1、接收两个参数:第一个参数是 Promise 状态变为 resolved 时执行的回调函数,第二个参数是 Promise 状态变为 rejected 时执行的回调函数。

2、回调函数接收一个参数,即 Promise 的结果值。

3、如果只关心 Promise 成功时的结果,可以省略第二个参数。

示例代码:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('成功');
  }, 1000);
});
promise.then(
  (result) => {
    console.log('成功:', result);
  },
  (error) => {
    console.log('失败:', error);
  }
);

then() 方法的链式调用

通过 then() 方法返回的新 Promise 对象,可以继续链式调用其他 then() 方法或 catch() 方法。

示例代码:

const promise1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('成功1');
  }, 1000);
});
const promise2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('成功2');
  }, 1000);
});
promise1
  .then((result) => {
    console.log('第一步:', result);
    return promise2;
  })
  .then((result) => {
    console.log('第二步:', result);
  })
  .catch((error) => {
    console.log('失败:', error);
  });

then() 方法的异常处理

then() 方法中的回调函数抛出异常,可以通过链式调用 catch() 方法进行捕获。

示例代码:

const promise = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('成功');
  }, 1000);
});
promise
  .then((result) => {
    console.log('成功:', result);
    throw new Error('出错了');
  })
  .catch((error) => {
    console.log('失败:', error);
  });

网页题目:JavaScrpt中的函数then是什么意思
网站网址:http://www.shufengxianlan.com/qtweb/news11/432111.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联