实现sleep的效果
(1)while循环:
容易造成死循环
代码:
function sleep(ms) {
var start = Date.now();
var expires = start + ms;
while(Date.now() < expires);
console.log('1111);
return;
}
执行sleep(1000)之后,休眠了1000ms之后输出了1111。上述循环的方式缺点很明显,容易造成死循环。
(2)promise:
代码:
function sleep(ms) {
return new Promise( (resolve) => {
console.log("1111");
setTimeout(resolve, ms);
})
}
sleep(500).then( () => {
console.log("2222");
})
先输出了1111,延迟500ms后输出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();
延迟1000ms输出了1111

浙公网安备 33010602011771号