투케이2K

72. (Flutter/플러터) [Mac] : [Dart] : 다트 - [delay] Future.delayed 사용해 작업 예약 및 일정 시간 이후 특정 동작 수행 본문

Flutter

72. (Flutter/플러터) [Mac] : [Dart] : 다트 - [delay] Future.delayed 사용해 작업 예약 및 일정 시간 이후 특정 동작 수행

투케이2K 2024. 5. 30. 19:52

[개발 환경 설정]

개발 툴 : AndroidStudio

개발 언어 : Dart

 

[소스 코드]

import 'package:flutter/material.dart';
import 'dart:developer';
import 'dart:core';


// -----------------------------------------------------------------------------------------
// TODO [main] : [application 의 진입점 역할]
// -----------------------------------------------------------------------------------------
void main() {

  /**
   * ------------------------------------------------
   * [요약 설명]
   * ------------------------------------------------
   * 1. Future.delayed : 주어진 시간 만큼 지연 후 함수를 실행합니다
   * ------------------------------------------------
   * 2. Future.delayed 사용 시 내부적으로는 타이머를 사용하지만 외부에 노출되지 않으므로 중간에 취소하거나 재시작하거나 할 수 없다
   * ------------------------------------------------
   * 3. Future 객체를 반환하므로 await 키워드를 사용해서 지연 시간을 보장할 수 있습니다
   * ------------------------------------------------
   * */


  try {

    // [Future.delayed 생성]
    Future.delayed(const Duration(seconds: 5), () { // [5초 뒤에 동작]    
      log("");
      log("-------------------------------------------------------");
      log("Program End :: ${DateTime.now()}");
      log("-------------------------------------------------------");
      log("");
    });


    // [로그 출력]
    log("");
    log("-------------------------------------------------------");
    log("Program Start :: ${DateTime.now()}");
    log("-------------------------------------------------------");
    log("");

  } 
  catch (e) {
    log("");
    log("-------------------------------------------------------");
    log("Catch :: ${e}");
    log("-------------------------------------------------------");
    log("");    
  } 

}
 

[결과 출력]


반응형
Comments