Promise 用法

2018-09-28  本文已影响0人  Romyo
写法1:
Promise.then(   
  function(success){}, //成功了
  function(error){}       //失败了
)
写法2:
Promise
.then(success=>{成功了})
.catch(error=>{失败了});

Promise.all([异步请求1,异步请求2])
.then(success=>{成功了})
.catch(error=>{失败了});
<script src='./jquery-1.11.0.min.js'></script>
<script>
    /**
    * 封装的函数,返回一个Promise对象
    */
    function createPromise(url){
      return new Promise(function(resolve,reject){
        $.ajax({
          url,
          success(data){
            resolve(data);
          },
          error(err){
            reject(err);
          }
        })
      })
    }

    let promiseObj1=createPromise('./data.json');
    let promiseObj2=createPromise('./data2.json');
    //写法一
    Promise.all([promiseObj1,promiseObj2]).then(
      (arr)=>{
        console.log(arr);
      },
      (err)=>{
        console.log(err)
      }
    );

    //写法二
    Promise.all([promiseObj1,promiseObj2]).then(data=>{
      console.log(data);
    }).catch(err=>{
      console.log(err);
    })


    //jquery自带返回promise属性
    Promise.all([
      $.ajax('./data.json'),
      $.ajax('./data2.json')
    ]).then(res=>{
      console.log(res);
    }).catch(err=>{
      console.log(err);
    })

</script>
上一篇 下一篇

猜你喜欢

热点阅读