コールバック関数で練習していましたが、この質問はわかりません。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は非同期呼び出しです –