[flutter] 플러터 GET 요청에 대한 타임아웃을 설정하는 방법은 무엇인가요?

일반적으로 네트워크 요청에서 타임아웃은, 서버로부터 응답을 받기까지의 시간 제한을 설정하는 것을 의미합니다. Flutter에서는 http 라이브러리를 사용하여 HTTP 요청을 처리할 수 있습니다. 이 라이브러리를 사용하여 GET 요청에 대한 타임아웃을 설정할 수 있습니다.

먼저, http 라이브러리를 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 의존성을 추가합니다:

dependencies:
  http: ^0.13.1

그리고 pubspec.yaml 파일을 저장한 후, 터미널에서 flutter pub get 명령을 실행하여 라이브러리를 다운로드합니다.

다음은 GET 요청에 타임아웃을 설정하는 예제 코드입니다.

import 'package:http/http.dart' as http;

void main() async {
  try {
    var response = await http.get(Uri.parse('https://api.example.com/data'),
      timeout: Duration(seconds: 5)); // 타임아웃을 5초로 설정
    print('Response status: ${response.statusCode}');
    print('Response body: ${response.body}');
  } catch (e) {
    print('Error: $e');
  }
}

위의 예제에서 http.get 메서드에서 timeout 매개변수를 사용하여 타임아웃 값을 설정하였습니다. 예제에서는 5초로 설정하였습니다. 만약 5초가 경과하고도 서버로부터 응답을 받지 못한 경우, 에러가 발생하여 catch 블록이 실행됩니다.

위의 예제 코드를 참고하여 원하는 타임아웃 값을 설정하고, 해당 요청에 따른 처리 로직을 추가하면 됩니다.

더 자세한 내용은 http 패키지 문서를 참고하시기 바랍니다.