URL-адрес blob-изображения (javascript)

Я пытаюсь использовать blob, чтобы показать изображение на веб-сайте, но как я могу получить URL вне onload, чтобы вернуть его в функцию?

var xhr = new XMLHttpRequest();
xhr.open("GET", "//fiddle.jshell.net/img/logo.png", true);
xhr.responseType = "arraybuffer";

xhr.onload = function(e) {
    var arrayBufferView = new Uint8Array(this.response);
    var blob = new Blob([arrayBufferView]);
    var urlCreator = window.URL || window.webkitURL;
    var imageUrl = urlCreator.createObjectURL(blob);
    //window.URL.revokeObjectURL(imageUrl);
};

xhr.send();

1 ответ

  1. если вы используете imageUrl=urlCreator.createObjectURL(blob);вместо var imageUrl=urlCreator.createObjectURL(blob);этого вы поместите переменную в глобальную область и сможете получить доступ за пределами функции.

    function yo(lo) {
    window.onload=function(e){
    lo("give me shiny gold");
    }}
    
    
    yo(function(work) {
    alert(work);
    });