关于计时器数据赋值的问题

function(){
 let a = 0
 a = 1
 let loader = setInterval(function () {
            a += 1 
            clearInterval(loader)
        }, 1000)
 return a
}

我的预想是return的a为2,但是现在return的结果依旧是1,请问这个该怎么解决啊

阅读 1.6k
2 个回答

没办法,因为你方法是同步的,在你return出去的时候。setInterval 的回调并没有执行。

那么改成异步呢?

image.png

这题我会:

function diedZone(){
  const { now } = Date
  let a = 1
  const startMoment = now()
  while(now() - startMoment < 1000){}
  a++     
  return a
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题