Membuat looping dengan delay pada Javascript

Beberapa hari ini banyak ketemu error di fabricjs pada saat render. Yang paling aneh ketika merender image lebih dari satu gambar dengan fabricjs. Teknik yang dilakukan biasa, saya looping, lalu panggil fungsi render si fabric. Dan setelah dijalankan…ngacoo..tapi anehnya jika dijalankan satu image/product berjalan lancar. Kemungkinan karena saat fabric lagi melakukan proses render, looping tetep berjalan, bentrok deh. saya keingetan proses di nodejs.

Lalu ada yang bilang, “javascript loop itu gak bisa di delay biasa Di, loe mesti ubah kode nya”. Saya masih coba cara sederhana pake timeout nya javascript tetep masih gak jalan juga. Penasaran saya cari di google, dan bener ketemu. Emang kode javascript mesti diubah.

1
2
3
4
5
6
7
8
9
10
11
12
var i = 1;                     //  set your counter to 1

function myLoop () {           //  create a loop function
   setTimeout(function () {    //  call a 3s setTimeout when the loop is called
      alert('hello');          //  your code here
      i++;                     //  increment the counter
      if (i < 10) {            //  if the counter < 10, call the loop function
         myLoop();             //  ..  again which will trigger another
      }                        //  ..  setTimeout()
   }, 3000)
}
myLoop();

reff: http://stackoverflow.com/questions/3583724/how-do-i-add-a-delay-in-a-javascript-loop

Kode diatas kaya self trigger gitu, tapi kita timeout di dalem fungsi myloop(). Jadi inget kasus dulu buat tiket online beberapa proses jalan gak beraturan.

Leave a Reply

Your email address will not be published. Required fields are marked *

%d bloggers like this: