JavaScript——Function sleep

  • 2019-06-20
  • 31
  • 0

我们都知道java中,Thread.sleep导致当前线程暂停执行指定的时间段,这是一个编程语言很常见的功能,但是javascript没有直接提供,以方便毕竟js是单线程,另一方面,js也会是可以实现的。

睁大眼睛👀

看看我的javascript如何实现 thread.sleep

// 原版
async function sleep(interval) {
  return new Promise(resolve => {
    setTimeout(resolve, interval);
  })
}
// 精简版
const sleep = ms => new Promise(resolve => setTimeout(resolve, ms));

使用demo
每隔一秒打印一个数,从1-5

Async & Await
async function one2FiveInAsync() {
  for(let i = 1; i <= 5; i++) {
    console.log(i);
    await sleep(1000)
  }
}

one2FiveInAsync();

// promise实现
function one2FiveInPromise() {
  function logAndSleep(i) {
    console.log(i);
    if (i === 5) {
      return;
    }
    return sleep(1000).then(() => logAndSleep(i + 1));
  }

  logAndSleep(1);
}

one2FiveInPromise();

评论

还没有任何评论,你来说两句吧

- 友情链接 - Theme by Qzhai