顾名思义,循环执行就是设置一个时间间隔,每过一段时间都会执行一次这个方法,直到这个定时器被销毁掉

用法是 setInterval (“方法名或方法”,“延时”), 第一个参数为方法名或者方法,注意为方法名的时候不要加括号,第二个参数为时间间隔

<template>
  <section>
    <h1>hello world~</h1>
  </section>
</template>
<script>
  export default {
    data() {
      return {
        timer: '',
        value: 0
    methods: {
      get() {
        this.value ++;
        console.log(this.value);
    mounted() {
      this.timer = setInterval(this.get, 1000);
    beforeDestroy() {
      clearInterval(this.timer);
</script>

定时执行 setTimeout 是设置一个时间,等待时间到达的时候只执行一次,但是执行完以后定时器还在,只是没有运行

用法是 setTimeout (“方法名或方法”, “延时”); 第一个参数为方法名或者方法,注意为方法名的时候不要加括号,第二个参数为时间间隔

<template>
  <section>
    <h1>hello world~</h1>
  </section>
</template>
<script>
  export default {
    data() {
      return {
        timer: '',
        value: 0
    methods: {
      get() {
        this.value ++;
        console.log(this.value);
    mounted() {
      this.timer = setTimeout(this.get, 1000);
    beforeDestroy() {
      clearTimeout(this.timer);
</script>
nextTick 是 Vue 的⼀个核⼼实现。他的作用是将回调 延迟 到下次 DOM 更新循环之后 执行 。在修改数据之后立即 使用 它,然后等待 DOM 更新。API — Vue .js​cn. vue js.orgconst callbacks = [] function nextTick(cb , ctx) { let _resolve callbacks.push(() => { if... 函数之前和之后的代码都在合适的时机 执行 ,避免出现异步操作的竞态条件和不确定性。在函数体内部,它首先创建一个 Promise 对象,并 使用 。函数 延迟 0.2秒后解析该 Promise,这样。更新表单数据,并根据异步操作的结果更新。函数 执行 时会先 延迟 0.2秒,然后调用。可以在 延迟 执行 下一步操作。关键字,可以确保在 执行 。函数 ,会根据传入的。 t = setTimeout (function() { console.log('3秒后 执行 ') // window.eventHub.$emit('refreshList', '')// ... 项目 有个需求,点某个按钮后,设备开始自检,需要2秒刷新一下,整个自检需要30秒 于是 使用 定时器 定时2秒请求接口查看设备状态,然后 使用 延时 延时 30秒后去清除这个 定时器 . data(){ return { timing:null, delayTimer :null methods:{ //调用getStart()时设置 定时器 ,同时设置 延时 器,时间到就清除 定时器 getStart() { this.getTiming() this.delayTimer 定时 执行 setTimeout 是设置一个时间,等待时间到达的时候只 执行 一次,但是 执行 完以后 定时器 还在,只是不再运行;循环 执行 就是设置一个时间间隔,每过一段时间都会循环 执行 这个 方法 ,直到这个 定时器 被销毁掉;1、循环 执行 setInterval 。2、定时 执行 setTimeout