在运用个promise处理异步时,同事建议我封装一个sleep函数,实现等待执行的效果。
听了他的建议,我想了下也觉得可行,不过实际效果却完全想反,
仔细思考了,才发现这只是一个阻塞js代码的执行,达到延时的目的,并不能实现异步(非阻塞)。
它只适用于同步的场景中,达到延时的效果。
function sleep(delay) {
let now = new Date();
const exitTime = now.getTime() + delay;
let complite=true;
while (complite) {
now = new Date();
if (now.getTime() > exitTime) {
complite=false;
}
}
return;
}