我正在练习回调函数,这个问题是我似乎无法解决的问题。Settimeout不立即返回
function foo() {
var data = 10;
bar(function (players) {
data = players;
});
return data;
}
function bar (callback) {
setTimeout(callback, 0);
}
var result = foo();
我意料之中的,因为data = players
结果是不确定的,并没有什么传过来的球员。由于setTimeout函数使用0
作为延迟,它不应该先运行,然后返回数据吗?我查看了MDN页面,似乎有关于嵌套超时限制的信息,以>=4ms
。这是否也适用于这种情况?
setTimeout is asynchronous call –