promise对象

Promise是JavaScript中处理异步操作的一种方式,它有pending、fulfilled和rejected三种状态。当异步操作完成后,Promise状态改变并触发相应回调。在示例中,getPageContent函数使用XMLHttpRequest获取网页内容,成功时调用then处理响应,失败时调用catch捕获错误。
摘要由CSDN通过智能技术生成

Promise对象是一种用于异步编程的解决方案。它允许你将异步操作的代码写在Promise的then方法里,并在异步操作完成时获得结果。Promise有三种状态:pending(进行中)、fulfilled(已完成)和rejected(已失败)。在Promise对象刚刚创建时,它的状态是pending,一旦异步操作完成,它的状态就会变为fulfilled或rejected。你可以使用Promise.resolve()和Promise.reject()来分别创建一个已完成或已失败的Promise对象。

例如,你可以这样使用Promise来获取一个网页的内容:

const getPageContent =url => {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();
    xhr.open('GET', url);
    xhr.onload = () => {
      if (xhr.status === 200) {
        resolve(xhr.response);
      } else {
        reject(new Error(xhr.statusText));
      }
    };
    xhr.onerror = () => {
      reject(new Error('Network error'));
    };
    xhr.send();
  });
};

getPageContent('http://example.com')
  .then(response => {
    console.log(response);
  })
  .catch(error => {
    console.error(error);
  });

在这个例子中,getPageContent函数返回一个Promise对象。如果网络请求成功,则Promise的状态会变为fulfilled,并调用then方法里的回调函数;如果网络请求失败,则Promise的状态会变为rejected,并调用catch方法里的回调函数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值