Attribution de variable globale dans promise function
Bonjour à tous
J'essaie de réaliser une fonction toDataurl promise au sein de project angular qui permet de convertir une image d'assets en chaîne de base64.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
toDataURL(url){
var promise = new Promise(function (extract) {
var xhr = new XMLHttpRequest();
xhr.open('get', url);
xhr.responseType = 'blob';
xhr.onload = function(){
var fr = new FileReader();
var test = fr.onload = function(){
extract(this.result);
return this.result;
};
fr.readAsDataURL(xhr.response); // async call
};
xhr.send();
});
return promise;
} |
Mais quand j'ai essayé d'attribuer son résultat à une variable globale base64result. Cette dernière se comporte comme une variable locale. Et je ne peux pas utiliser ce résultat dans les prochaines instructions.
Code:
1 2 3 4 5
|
this.toDataURL(chemin).then((result) => {
this.base64result=result
console.log(result);
}); |
Que dois-je faire?
Merci d'avance.