promise浅析

10、promise

        1、Promise为一个构造函数,可以使用他来构造函数,他是异步的
        2、这个构造函数的参数是两个函数:resolve和reject。
        3、这两个函数的作用是将Promise的结果从pending(等待)转化为resolved(已解决),
          或者从pending转化为rejected(失败)
  • 方法概况:

    • 简单来说,promise函数的内部包含着一个异步的函数,
    • 当异步函数执行完毕后,通过resolve或者reject将结果返回出去,无论是成功还是失败
    • then的主要作用是将返回的结果获取过来,
    • catch的主要作用是捕获Promise对象在使用catch之前的异常

      1、实例化promise
      let p = new Promise((resolve,reject)=>{
          let flag = Math.random()>0.5 ? true:false;
      
          if(flag){
              console.log('success');
              resolve('success');
          }else{
              console.log('err');
              reject('err');
          }
      }); 
      
      2、两个方法:then和catch
      p.then((result)=>{
          console.log(result);
      }).catch((err)=>{
          console.log(err+'err');
      });
      
      3、使用Promise封装一个ajax请求
      function getURL(url){
          return new Promise((resolve,reject)=>{
              var req=new XMLHttpRequest();
              req.open('GET',url,true);
              req.onload=function(){
                  if (req.status==200) {
                      resolve(req.responseText);
                  }else{
                      reject(new Error(req.statusText))
                  }
              };
              req.onerror=function(){
                  reject(new Error(req.statusText));
              };
              res.send();
          })
      }
      
      4、异步加载图片
      let preloadImage=(path)=>{
          return new Promise(function(resolve,reject){
              let img=new Image();
              img.onload=resolve;
              img.onerror=reject;
              img.src=path;
          })
      }

待补充……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值