Looping data besar di JavaScript? Pakek aja Interval!

Biasanya kalau kita looping di JavaScript atau NodeJS kita memakai fungsi2 standart, misalnya for(), while(), forEach(), map(), dll. Fungsi-fungsi itu emang ekesekusinya cepet banget sih, cuman ya gitu, berbanding lurus sama resource RAM dan CPU yang dipakai. Kalau yang di looping data besar, misalnya 10.000.000 rows, bisa dibayangkan berapa besar RAM dan CPU yang dibutuhkan. Yap, sangat tidak rekomended.

Cobain ini, looping di JavaScript bisa memakai fungsi interval. interval ini semacam fungsi yang berjalan berdasarkan waktu yang ditentukan. Kamu bisa looping data sebanyak apapun dengan aman, sebab fungsi ini sama sekali nggak memakan resource CPU dan RAM. Aku pernah test looping 1.000.000 rows, dan ajaibnya CPU sama RAM ku stabil, ga mengalamai kenaikan. Beda sama fungsi-fungsi looping standart di atas, baru nyampek data ke 100.000, RAM ama CPU ku udah hampir habis. Cuman, proses looping interval ga secepet looping standart di atas.

 "use strict";

     const looper = function(start, stop, callback, done)
     {
         var task, looper;
         var current = start;

         looper = function()
         {
            if(current = stop)
            {
                clearInterval(task);

                if(done)
                {
                    done();
                }
            }
            else
            {
                callback(current++);
            }
         }

         task = setInterval(looper, 0);
     }

looper(0, 1000000, function(n)
     {
         // data ke-n
     }, function()
     {
         // ketika semua looping berhasil di eksekusi
     });

-&gt; <a href='https://www.dalikewara.com/looping-data-besar-di-javascript-pakek-aja-interval/'>https://www.dalikewara.com/looping-data-besar-di-javascript-pakek-aja-interval/</a>

avatar dalikewara
@dalikewara

351 Kontribusi 260 Poin

Dipost 6 tahun yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban