我写了以下代码;
var isValid = undefined;
alert(codeEditAddress());
function codeEditAddress() {
test();
return waitFor(function() { return isValid != undefined }, function(){return isValid});
}
function test(){
setTimeout(function(){isValid = true;}, 1000);
}
function waitFor(fnReady, fnCallback) {
var check = function () {
if (fnReady()) {
fnCallback();
}
else {
setTimeout(check, 100); // wait another 100ms, and try again
}
};
check();
}
我在警报中看到“未定义”。
预期结果 - 看到“真实”,延迟1秒
我错了什么?
P.S。 demo