setinterval是异步还是同步

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了setinterval是异步还是同步相关的知识,希望对你有一定的参考价值。

参考技术A setTimeout
只运行一次,也就是说设定的时间到后就触发运行指定代码,运行完后即结束。如果运行的代码中再次运行同样的setTimeout命令,则可循环运行。
setinterval
是循环运行的,即每到设定时间间隔就触发指定代码。这是真正的定时器。

react的setState函数同步还是异步?

面试总被问到??

1、由 React 控制的事件处理程序,以及生命周期函数调用 setState 不会同步更
新 state 。
2、React 控制之外的事件中调用 setState 是同步更新的。比如原生 js 绑定的事
件,setTimeout/setInterval 等。

class Example extends React.Component {
  constructor() {
    super()
    this.state = {
      val: 0
    }
  }
  componentDidMount() {
    this.setState({ val: this.state.val + 1 })
    console.log(this.state.val)
    // 第 1 次 log
    this.setState({ val: this.state.val + 1 })
    console.log(this.state.val)
    // 第 2 次 log
    setTimeout(() => {
      this.setState({ val: this.state.val + 1 })
      console.log(this.state.val)
      // 第 3 次 log
      this.setState({ val: this.state.val + 1 })
      console.log(this.state.val)
      // 第 4 次 log
    }, 0)
  }
  render() {
    return null
  }
} // 0, 0, 1, 2

以上是关于setinterval是异步还是同步的主要内容,如果未能解决你的问题,请参考以下文章

AS2.0 setInterval 和 clearInterval的用法

[react] react中的setState是同步还是异步的呢?为什么state并不一定会同步更新?

js的事件循环机制:同步与异步任务(setTimeout,setInterval)宏任务,微任务(Promise,process.nextTick)

最近项目中遇到了一个场景,其实很常见,就是定时获取接口刷新数据。那么问题来了,假设我设置的定时时间为1s,而数据接口返回大于1s,应该用同步阻塞还是异步?

Js同步异步机制

js中的异步与同步,解决由异步引起的问题