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/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • afinalAfinal是一个android的ioc,orm框架 https://github.com/yangf...
    passiontim阅读 15,787评论 2 45
  • 首先,我不是老板,我是老板的助理兼老公。 其次,我不是富二代,我是个儿子,也是个丈夫,更是个父亲。 嗯,我们开始 ...
    左耳有日阅读 1,810评论 0 0
  • 贺瑾野子阅读 2,934评论 4 2
  • 永远要跟社会交互 永远要不断学习 永远要专一,专注 永远要去创业,创造更多价值 跌倒了永远还是需要自己拉自己起来 ...
    灿哥领队阅读 1,751评论 0 0
  • 今天总结了 孩子跟去年的 变化 给自己鼓励 今年跟去年比儿子的进步。 去年晚上发短信,每次都说想家。...
    苦茶_09e4阅读 1,162评论 1 5

友情链接更多精彩内容