【发布时间】:2021-12-30 22:34:10
【问题描述】:
我正在尝试从此函数返回用户,该函数使用另一个函数打开 json 文件我可以返回整个函数的用户
function RandomAccount(){
alert('just confirm');
readTextFile("./data.json", function(text){
var data = JSON.parse(text);
var length = data[0].length;
// better random
var i = generateUniqueRandom(length)-1;
user = data[0][i]['follow_username'];
return user;
});
//i want to return user here
}
【问题讨论】:
-
您可以访问外部范围。在您的
alert行下,您可以创建一个新变量var myusers = [];,并在您的函数中设置myusers = .....。当前的return声明似乎不合适,因为此闭包由readTextFile()函数调用,我怀疑该函数需要“user”。 -
如果
readTextFile是异步的,则在外部范围内声明变量将不起作用,因为函数RandomAccount可能会在评估readTextFile的回调函数之前返回。在这种情况下,您需要向RandomAccount提供回调并从readTextFile的回调中调用它,或者使用 Promises,例如。
标签: javascript html jquery