1、最原始
function sleep(delay) {
var start = Date.now();
while (Date.now() < start + delay);
}
function test() {
console.log('111');
sleep(2000);
console.log('222');
}
test()
function sleep(d){
for(var t = Date.now(); Date.now() - t <= d;);
}
console.log('111');
sleep(2000);
console.log('222');
2、Promise
function sleep(ms){
var temple=new Promise(
(resolve)=>{
console.log(111);setTimeout(resolve,ms)
});
return temple
}
sleep(500).then(function(){
console.log(222)
})
3、async
function sleep(ms){
return new Promise((resolve)=>setTimeout(resolve,ms));
}
async function test(){
var temple=await sleep(1000);
console.log(1111)
return temple
}
test();
4、generator
function* sleep(ms){
yield new Promise(function(resolve,reject){
console.log(111);
setTimeout(resolve,ms);
})
}
sleep(500).next().value.then(function(){console.log(2222)})
网友评论