
Future<Response> 타입 설명Future는 Dart와 Flutter에서 비동기 작업의 결과를 나타내는 객체이다. 시간이 걸리는 작업(예: HTTP 요청, 파일 읽기, 데이터베이스 쿼리 등)이 완료된 이후에 값을 반환할 것을 약속한다. Future는 다음 세 가지 상태를 가질 수 있다:
Response는 HTTP 요청에 대한 응답을 나타내는 객체이다. HTTP 패키지를 사용할 때 서버로부터 받은 응답 데이터를 캡슐화하는 역할을 한다. Response 객체는 응답의 상태 코드, 헤더, 본문(body) 데이터가 포함되어 있다.
import 'package:http/http.dart' as http;
Future<void> fetchData() async {
try {
final response = await http.get(Uri.parse('https://example.com/data'));
/*200은 서버가 클라이언트의 요청을 성공적으로 받았음을 의미한다.
주로 GET 요청이나 POST 요청이 성공적으로 완료되었을 때 반환된다.*/
if (response.statusCode == 200) {
print('Data fetched successfully: ${response.body}');
} else {
print('Failed to load data. Status code: ${response.statusCode}');
}
} catch (e) {
print('An error occurred: $e');
}
}
Future<Response>는 비동기적으로 HTTP 요청을 수행할 때 사용되며, 작업이 완료될 때까지 기다린 후 Response 객체를 반환한다. await 키워드를 사용하여 작업이 완료될 때까지 대기할 수 있으며, 에러 처리를 위해 try-catch 블록을 사용하는 것이 좋다.