问题描述
我一直在寻找一种在函数之外获取变量的方法。这是我的代码片段。
for (var i = 0; i < results.length; i++) {
var rawname = results[i].name
var name = encodeURIComponent(results[i].name)
var isdirectory = results[i].isDirectory
var filesize = '""'
//var modified = '10/13/15,10:38:40 AM'
var modified = ''
var extension = name.split('.').pop();
// raw,urlencoded,isdirectory,size,if (extension == 'mp3' || extension == 'flac') {
getEntryFile(results[i],function(file) {
jsmediatags.read(file,{
onSuccess: function(tag) {
var image = tag.tags.picture;
if (image) {
var base64String = "";
for (var i = 0; i < image.data.length; i++) {
base64String += String.fromCharCode(image.data[i]);
}
var base64 = "data:" + image.format + ";base64," +
window.btoa(base64String);
}
},onError: function(error) {
console.log(error);
}
})
})
html.push(' {')
html.push(' name: "' + rawname + '",')
html.push(' artist: "' + rawname + '",')
html.push(' image: "' + base64 + '",')
html.push(' path: "' + name + '",')
html.push(' },')
}
}
我需要在 2 个函数之外获取 base64 变量并在 html.push()
函数中使用它。
请不要关闭这个问题。我在堆栈交换中搜索过类似的问题,但它们从未奏效。
我尝试过的一种方法是使用 window.base64a = base64
声明一个窗口变量,但它只是返回未定义。我该怎么做才能在函数之外获取我的变量?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)