javascript -- Promise實現XML圖片加載

 function imgLoad(url) {
    // 用兩個參數, resolve和reject
    return new Promise(function(resolve, reject) {
      var request = new XMLHttpRequest();
      request.open('GET', url)
      request.responseType = 'blob'

      // onload
      request.onload = function() {
        if (request.status === 200) {
           // 成功響應
          resolve(request.response);
        } else {
          reject(Error(request.statusText));
        }
      }

      // onerror
      request.onerror = function() {
          reject(Error('加載失敗'))
      };
      // 發送請求
      request.send()
    })
  }

  var body = document.querySelector('body');
  var myImage = new Image();
  imgLoad('blob:https://mdn.github.io/f84ebba6-8b10-4165-8704-47923e6129e1')
    .then(function(response) {
        var imageURL = window.URL.createObjectURL(response)
        myImage.src = imageURL
        body.appendChild(myImage)
    },
    function(Error) {
        console.log(Error)
    })

參考:

https://mdn.github.io/js-examples/promises-test/

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,513評論 2 45
  • 首先,我不是老板,我是老板的助理兼老公。 其次,我不是富二代,我是個兒子,也是個丈夫,更是個父親。 嗯,我們開始 ...
    左耳有日閱讀 260評論 0 0
  • 賀瑾野子閱讀 371評論 4 2
  • 永遠要跟社會交互 永遠要不斷學習 永遠要專一,專注 永遠要去創業,創造更多價值 跌倒了永遠還是需要自己拉自己起來 ...
    燦哥領隊閱讀 252評論 0 0
  • 今天總結了 孩子跟去年的 變化 給自己鼓勵 今年跟去年比兒子的進步。 去年晚上發短信,每次都說想家。...
    苦茶_09e4閱讀 122評論 1 5