interval

interval


Node.js

let i = 0

const id = setInterval(callback, 1e3)

function callback() {
  console.log('called', i)

  if (i === 3) {
    clearInterval(id)
  }

  i++
}

Output

called 0
called 1
called 2
called 3

Go

package main

import (
    "fmt"
    "time"
)

func callback(i int) {
    fmt.Println("called", i)
}

func main() {
    ticker := time.NewTicker(1 * time.Second)

    i := 0
    for range ticker.C {
        callback(i)

        if i == 3 {
            ticker.Stop()
            break
        }

        i++
    }
}

Output

called 0
called 1
called 2
called 3