interval


Node.js

  1. let i = 0
  2. const id = setInterval(callback, 1e3)
  3. function callback() {
  4. console.log('called', i)
  5. if (i === 3) {
  6. clearInterval(id)
  7. }
  8. i++
  9. }

Output

  1. called 0
  2. called 1
  3. called 2
  4. called 3

Go

  1. package main
  2. import (
  3. "fmt"
  4. "time"
  5. )
  6. func callback(i int) {
  7. fmt.Println("called", i)
  8. }
  9. func main() {
  10. ticker := time.NewTicker(1 * time.Second)
  11. i := 0
  12. for range ticker.C {
  13. callback(i)
  14. if i == 3 {
  15. ticker.Stop()
  16. break
  17. }
  18. i++
  19. }
  20. }

Output

  1. called 0
  2. called 1
  3. called 2
  4. called 3