• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

loading될 때 delay주는 방법

20.09.04 16:22 작성 조회수 350

0

안녕하세요.

데이터가 로딩될 때 5초간 delay 주는 방법이 있을까요?

아래와 같이 두 가지 방법을 찾았습니다.

하지만 아래의 코드를 적용하려면 fetch 함수를 수정해줘야겠죠?

다른 방법으로 timer을 주는 방법이 혹시 있나요?

// example 1
Future<bool> _getFutureBool() {
    return Future.delayed(Duration(milliseconds: 500))
        .then((onValue) => true);
}

// example 2
print('1');
Future.delayed(const Duration(milliseconds: 500), () {
    print('Hello, world');
});
print('2');

답변 3

·

답변을 작성해보세요.

0

fetch() 함수 내 첫 줄에 await _getFutureBool(); 을 추가하시면 강제로 5초 후에 데이터 가지고 오겠네요.

0

loadingWidget()에 추가를 해줘야 할까요? 

 Future<bool> _getFutureBool() async {
    return Future.delayed(Duration(milliseconds: 5000)).then((onValue) => true);
  }
}

 이런 방법으로 )_MyHomePageState에 추가를 해주었는데요.

loadingWidget()에 추가하려니 <Widget>만 추가할 수 있다는 경고가 뜹니다

0

위 방법에서 5초이면 Duration(seconds: 5) 또는 Duration(milliseconds: 5000) 을 사용하시면 됩니다. 이 방법이 가장 심플한 방법입니다. 함수 선언에 async 키워드는 추가해 줘야겠지요.