编辑代码

//Promise处理异步操作的对象
//三种状态:
/*
pending    初始状态,不成功也不失败
fulfilled  操作成功完成
rejected   操作失败
*/
//特点: 状态一旦改变就会永久保持状态不会再发生状态变化
//状态只有两种可能:pending -> fulfilled  pending -> rejected


const promise1 = new Promise((resolve) => setTimeout(() => resolve("Promise 1"), 1000));
const promise2 = new Promise((resolve) => setTimeout(() => resolve("Promise 2"), 400));
const promise3 = new Promise((resolve) => setTimeout(() => resolve("Promise 3"), 2000));

// 使用 Promise.all 并行处理多个 Promise
Promise.all([promise1, promise2, promise3])
  .then((results) => {
    console.log("所有的 Promise 都已成功完成:", results); 
  })
  .catch((error) => {
    console.error("至少有一个 Promise 被拒绝:", error);
  });
// 使用 Promise.race 返回最先完成的 Promise
Promise.race([promise1, promise2, promise3])
  .then((result) => {
    console.log("第一个 Promise 已成功完成:", result); 
  })
  .catch((error) => {
    console.error("第一个 Promise 被拒绝:", error);
  });



//Promise 的基本用法是通过构造函数创建 Promise 实例,然后使用 .then() 和 .catch() 方法处理结果:、
  const promise = new Promise((resolve, reject) => {

  setTimeout(() => {
    const success = true; 
    if (success) {
      resolve("成功");
    } else {
      reject("操作失败"); 
    }
  }, 1000);
});
promise
  .then((result) => {
    console.log(result); 
  })
  .catch((error) => {
    console.error(error); 
  });