前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Promise对象状态属性介绍

Promise对象状态属性介绍

原创
作者头像
堕落飞鸟
发布2023-05-23 10:01:55
3040
发布2023-05-23 10:01:55
举报
文章被收录于专栏:飞鸟的专栏飞鸟的专栏

Promise对象状态属性

1. pending

当创建一个Promise对象时,初始状态是pending(待定)状态。这表示Promise对象尚未完成,异步操作仍在进行中。

2. fulfilled

当异步操作成功完成时,Promise对象的状态将从pending转变为fulfilled(已完成)状态。在这种状态下,Promise对象将包含异步操作的结果值。

3. rejected

当异步操作失败时,Promise对象的状态将从pending转变为rejected(已失败)状态。在这种状态下,Promise对象将包含一个错误对象,用于描述发生的错误。

示例代码

下面是一个示例代码,演示了Promise对象的状态属性和它们的转换:

代码语言:javascript
复制
// 创建一个简单的异步操作,返回一个Promise对象
function performAsyncTask() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const success = Math.random() < 0.5; // 模拟随机成功或失败

      if (success) {
        resolve('Async operation succeeded.'); // 异步操作成功,将Promise状态设置为fulfilled
      } else {
        reject(new Error('Async operation failed.')); // 异步操作失败,将Promise状态设置为rejected
      }
    }, 2000);
  });
}

// 调用异步操作并处理不同状态
const promise = performAsyncTask();

console.log('Promise status:', promise.status); // 输出初始状态,应为pending

promise
  .then(result => {
    console.log('Promise status:', promise.status); // 输出fulfilled状态
    console.log('Result:', result); // 输出异步操作的结果
  })
  .catch(error => {
    console.log('Promise status:', promise.status); // 输出rejected状态
    console.error('Error:', error); // 输出发生的错误
  });

在上述示例中,我们首先创建了一个performAsyncTask函数,它返回一个Promise对象,并模拟了一个异步操作。异步操作的成功与否是随机决定的。

然后,我们调用performAsyncTask函数,并通过.then()方法和.catch()方法分别处理Promise对象的fulfilledrejected状态。

在控制台输出中,我们可以观察到Promise对象的状态属性的变化。初始状态为pending,当异步操作成功完成时,状态变为fulfilled,并输出异步操作的结果。当异步操作失败时,状态变为rejected,并输出错误信息。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Promise对象状态属性
    • 1. pending
      • 2. fulfilled
        • 3. rejected
        • 示例代码
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档