promise笔记

 // promise 加载一个图片示例
function loadImage(url){
  new Promise(function(resolve, reject){
    var img = new Image()
    img.onload = function(){
      resolve(img)
    }
    img.onerror = function(){
      reject(new Error('could not load' + url))
    }
    img.src = url 
  })
}
// promise 实现ajax请求
var getJSON= function(url){
  var promise = new Promise(function(resolve, reject){
    var client = new XMLHttpRequest();
    client.open('GET', url)
    client.onreadystatechange = handler
    client.responseType = 'json'
    client.setRequestHeader('Accept', 'application/json')
    client.send()

    function handler(){
      if(this.readyState !== 4){
        return
      }
      if(this.status === 200){
        resolve(this.response)
      }else{
        reject(new Error(this.statusText))
      }
    }
  })

posted on 2017-07-23 21:32  daV_chen  阅读(179)  评论(0编辑  收藏  举报

导航