a(){
return true;
}
这个ture我希望一秒钟后再返回出去,尝试过异步回调
myFun(a){
setTimeout( () => {
a
},1000)
}
但是这样我就拿不到a函数的返回值
就算能拿到也不能通过myFun返回出去。
不知道然后和做到延迟一秒返回值
优雅的异步:
function a(){
return true;
}
async function myFun(ms) {
let r = await new Promise((res)=>{
setTimeout(()=>{res()},ms);
});
return a();
}
flag = false;
myFun(2000).then(result => {
//在这里处理执行a()后的业务
flag = result;
console.log("已过2s,我会工作,输出:"+flag);
});
console.log("虽然我在后,但是我先输出:"+flag);
简单粗暴死循环:
function a(ms){
let s = new Date().getTime();
while(new Date().getTime()-s<ms){}
return true;
}
console.log(a(5000));
console.log("我必须要等你执行完毕,才能输出...");
试一下,否能定义一个全局变量,将a函数执行完毕后,把返回值赋值给全局变量,然后再需要这个返回值的地方,
用while循环,不断检测,值是否符合,符合就继续执行
设置定时器一秒后执行