[自定回调函数]如何在setTimeout函数外做timeout之后的回调函数?
如题,我把一个没有回调接口的(我看不懂的)异步模块比作setTimeout(应该可以这样比吧?),然后有以下代码:
function main(callback) {
var a = 10;
setTimeout(function(){
a+=1;
},1000);
callback(a);
}
function b(a){
alert(a);
}
main(b); //alert结果是10,不是11
function main(callback){
var a = 10,flag = false;
setTimeout(function(){
a++;
flag = true;
},1000);
function aaa(){
if(flag){
callback(a);
}else{
setTimeout(aaa,200);
}
}
aaa();
}
function b(a){
alert(a);
}
main(b);
function main(callback) {
var a = 10;
setTimeout(function(){
a+=1;
},1000);
var temp = a;
var _Inter = setInterval(function(){
if(temp!=a)
{
clearInterval(_Inter);
callback(a);
}
},100);
}
function b(a){
alert(a);
}
main(b); //alert结果是10,不是11