Javascript 如何从XMLHttpRequest返回结果?
我有以下函数将本地文件转换为base64。当我运行它时,它将结果res写入控制台。如何从函数返回res的内容,以便在另一个函数中使用它Javascript 如何从XMLHttpRequest返回结果?,javascript,xmlhttprequest,return-value,Javascript,Xmlhttprequest,Return Value,我有以下函数将本地文件转换为base64。当我运行它时,它将结果res写入控制台。如何从函数返回res的内容,以便在另一个函数中使用它 function convertToBase64() { var xhr = new XMLHttpRequest(); xhr.open("GET", "1.jpg", true); xhr.responseType = "blob"; xhr.onload = function (e)
function convertToBase64() {
var xhr = new XMLHttpRequest();
xhr.open("GET", "1.jpg", true);
xhr.responseType = "blob";
xhr.onload = function (e) {
var reader = new FileReader();
reader.onload = function(event) {
var res = event.target.result;
console.log(res);
}
var file = this.response;
reader.readAsDataURL(file)
};
xhr.send()
}
我对JavaScript一无所知。您可以将回调传递给函数,以便在加载文件时执行
function convertToBase64(onLoad) {
var xhr = new XMLHttpRequest();
xhr.open("GET", "1.jpg", true);
xhr.responseType = "blob";
xhr.onload = function (e) {
var reader = new FileReader();
reader.onload = function(event) {
var res = event.target.result;
console.log(res);
onLoad(res); // callback
}
var file = this.response;
reader.readAsDataURL(file)
};
xhr.send()
}
现在您可以执行以下操作:
convertToBase64(function(res) {
console.log('response loaded' , res);
});
通过回拨或承诺,这是否回答了您的问题?