Monday, December 23, 2019

Membuat Fungsi setTimeout (sleep) dan setInterval Pada Flutter (Dart)

Fungsi setTimeout (sleep) dan setInterval (timer) pada Flutter
Membuat Fungsi setTimeout (sleep) dan setInterval pada Flutter (Dart) - Salah satu fungsi yang penting yang biasa kita gunakan dalam membuat aplikasi untuk mengimplementasikan algorithma secara khusus adalah fungsi setTimeout (sleep) dan fungsi setInterval (timer). Kedua fungsi itu sangatlah penting dan tidak jarang terlibat dalam penerapan kedalam kode yang kita buat di Flutter (Dart).

Fungsi setTimeout

Fungsi setTimeout yang saya maksud  adalah merujuk/ber-equivalen pada javascript (sleep secara pemrograman umum) yang berfungsi untuk menunda eksekusi kode pada periode tertentu baik secara sinkron maupun asinkron. Artinya dengan metode ini kita bisa menunda eksekusi kode dengan memberikan jeda yang kita inginkan.

Kode Fungsi:
void _setTimeOut(int _ms){
  Future.delayed(Duration(milliseconds: _ms), (){
    //. action    print("action for setTimeout");
  });
}

Keterangan :
Pada Flutter/Dart kita bisa menggunakan fungsi Future.delayed untuk membuat equivalent fungsi setTimeout, dimana kita bisa memasukan variabel dengan tipe class Duration sebagai variabel yang menunjuk waktu tunda dari fungsi yang akan dieksekusi pada Callback nya. Pada contoh di atas kita memasukan waktu pada class Duration dengan satuan miliseconds.

Fungsi setInterval

Fungsi setInterval yang saya maksud disini adalah merujuk pada/ber-equivalen pada javascript (timer secara pemrograman umum) yang berfungsi untuk melakukan eksekusi kode secara periodek dengan jeda waktu yang kita tentukan. Fungsi ini tidak sama seperti looping, karena secara umum setInterval (timer) digunakan untuk eksekusi kode secara periodic dan asinkron tanpa harus menganggu thread utama dari halaman yang aktif.

Kode Fungsi:
import 'dart:async';
void _setInterval(int _ms){
  Timer.periodic(Duration(milliseconds: _ms), (timer) {
    //. action    print("action for _setInterval");
  });
}

Keterangan :
Pada Flutter/Dart kita bisa menggunakan fungsi Timer.periodic untuk membuat equivalent fungsi setInterval (timer), dimana kita bisa memasukan variable dengan tipe class Duration sebagai variabel yang menunjuk waktu jeda secara periodik dari fungsi yang akan dieksekusi pada Callback nya. Pada contoh di atas kita memasukan waktu pada class Duration dengan satuan miliseconds.

Source code lengkap dari projek di atas bisa diambil melalui link dibawah ini

Share This
Previous Post
Next Post

Halo, Saya A.M Hirin seorang Penulis Buku IT, International Freelance Programmer, dan Senior Developer di Perusahaan Konsultan IT. Saya penggila kode dan sudah berkutat selama 15 tahun di dunia pemrograman. Anda membutuhkan bantuan terkait skill dan keahlian saya? Kontak saya melalui email : nump.info@gmail.com

0 komentar: