Flutter/Dart - 몇 초 지연시키기, sleep

sleep() 함수를 이용하여, 몇 초 동안 코드 실행을 지연시키는 방법을 소개합니다. 또한, Timer를 이용하여 특정 코드를 몇 초 뒤에 실행시키도록 만드는 방법을 소개합니다.

1. sleep()으로 몇 초 지연시키기

sleep(Duration(seconds: n))은 n초간 지연을 시킵니다. 즉, n초간 다음 코드를 수행하지 않고 멈춰있습니다.

아래 예제를 보면 5초간 지연된 것을 확인할 수 있습니다.

import 'dart:io';

void main() {

    print(DateTime.now());
    sleep(Duration(seconds: 5));
    print(DateTime.now());
}

Output:

2022-12-06 21:14:14.215524
2022-12-06 21:14:19.218866

1.1 분, 시간 단위로 지연

아래와 같이 분, 시간 단위로 지연시킬 수 있습니다.

  • Duration(minutes: n)는 n분을 지연시킵니다.
  • Duration(hours: n)는 n시간을 지연시킵니다.
import 'dart:io';

void main() {

    print(DateTime.now());
    sleep(Duration(minutes: 1));
    print(DateTime.now());
}

Output:

2022-12-06 21:16:14.452756
2022-12-06 21:17:14.455920

2. Timer를 이용하여 몇 초 뒤 코드 실행

Timer(Duration(seconds: n), function)는 function을 n초 뒤에 실행시킵니다.

sleep()과 차이점은, sleep()은 다음 코드를 실행하지 않고 멈춰있지만, Timer는 특정 코드의 실행을 뒤로 미루고 다음 코드를 수행합니다.

아래 예제는 10초 뒤에 인자로 전달된 함수를 실행시킵니다.

import 'dart:async';

void main() {

  print("Start: ${DateTime.now()}");

  Timer(Duration(seconds: 10), () => print("Timer: ${DateTime.now()}"));

  print("End: ${DateTime.now()}");
}

Output:

Start: 2022-12-07 21:28:28.571174
End: 2022-12-07 21:28:28.577340
Timer: 2022-12-07 21:28:38.578808
Loading script...

Related Posts

codechachaCopyright ©2019 codechacha