我正在尝试使用timeout方法执行的函数定义全局变量值。我在这里面临的问题是无法摆脱时间间隔。
***不工作(但我希望目标变量在外面,以便我以后可以访问它。)
function demo() {
var noOfGoals = 4;
goal = "He has scored " + noOfGoals + " in 45 Mins";
}
setTimeout(function() {
demo();
}, 2000);
console.log(goal);
****工作(但我不想从setTimeout访问它)
function demo() {
var noOfGoals = 4;
goal = "He has scored " + noOfGoals + " in 45 Mins";
}
setTimeout(function() {
demo();
console.log(goal);
}, 2000);
任何新想法或更好的应用程序,而不是我做了什么!
答案 0 :(得分:0)
您无法从传递给setTimeout的函数中获取返回值。
对于你想做的事情,那就写成:
function demo() {
var noOfGoals = 4;
return goal = "He has scored " + noOfGoals + " in 45 Mins";
}
function launch_goal () {
setTimeout(function() {
console.log(demo());
}, 2000);
}
launch_goal();
或者以其他方式执行此操作,您需要使用承诺