minjeong-oh
기록
minjeong-oh
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • ML & Neural Net (3)
    • ◼️GNN (1)
    • ◼️시계열 (1)
    • ◼️추천시스템 (0)
    • ◼️수학 (3)
    • Data Engineer (2)
    • ◼️Spark (1)
    • ◼️Kafka (1)
    • ◼️Elestic Search (0)
    • ◼️Redis (0)
    • ◼️ClickHouse (1)
    • Programming Language (4)
    • ◼️SQL (0)
    • ◼️React (0)
    • ◼️Git (1)
    • ◼️Python (1)
    • ◼️C++ (33)
    • ◼️Fortran 99 (2)
    • ◼️OpenGL (7)
    • ◼️MFC (35)
    • ◼️Flutter (46)
    • ◼️Kotlin (1)
    • ◼️Android (1)
    • ◼️Java (1)
    • ◼️C (4)
    • Development (0)
    • ◼️디자인패턴 (0)
    • ◼️네트워크 (2)
    • ◼️인증 (1)
    • Computer Science (4)
    • 알고리즘 문제풀이 (12)
    • SQL 고득점 Kit 문제풀이 (8)
    • 취업준비 (0)
    • Notion 정리 글 (1)
    • Article Scrap (12)
      • Careerly - Q&A (7)
      • Careerly - Post (2)
    • 기타 등등 (16)

블로그 메뉴

  • 글쓰기
  • 홈
  • 태그
  • 방명록
  • 편집

공지사항

인기 글

태그

  • 구조체매개변수
  • hello테마
  • 인공지능개발자
  • NextJSSwagger
  • 19년식그램램장착
  • SpringBootSwagger
  • AI배워야하나
  • GSLB
  • 이것이C++이다책참고
  • 티스토리폰트배경색없애기
  • 이차원구조체배열포인터
  • API문서정리
  • mfc
  • 그램업그레이드
  • OpenGL회전
  • 19년식그램SSD장착
  • 리눅스파티션
  • 그램풀스팩업그레이드
  • kafka구축
  • 구조체배열포인터

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
minjeong-oh

기록

◼️Flutter

[Flutter Dart] async 와 await

2025. 1. 25. 07:45

코드팩토리의 플러터 프로그래밍 2판 책을 참고하여 공부용으로 작성한 게시글입니다.

📌 async, await

await 를 쓴 함수에 async를 쓴다.

await : 비동기 작업이 완료될 때까지 기다린다.
async : await을 사용한 비동기 함수를 정의하는 키워드. 이 함수의 반환타입은 항상 Future이다.

사용방식
Future<반환타입> 함수명() async{
     await 비동기작업;
     return 반환;
}

* try-catch로 async/await 코드에서 발생한 에러를 처리한다.

 

사용예

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2)); // 2초 대기
  return "Hello, async/await!";
}

void main() async {
  String data = await fetchData();
  print(data); // 2초 후 출력: Hello, async/await!
}

 

try-catch

Future<String> fetchData() async {
  await Future.delayed(Duration(seconds: 2));
  throw Exception("Error fetching data");
}

void main() async {
  try {
    String data = await fetchData();
    print(data);
  } catch (e) {
    print("Caught error: $e"); // Caught error: Exception: Error fetching data
  }
}

 

HTTP 요청 예제

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

Future<void> fetchData() async {
  final response = await http.get(Uri.parse("https://jsonplaceholder.typicode.com/posts/1"));

  if (response.statusCode == 200) {
    print(jsonDecode(response.body)); // JSON 데이터 출력
  } else {
    print("Failed to load data");
  }
}

void main() async {
  await fetchData();
}

 

#코드팩토리의플러터프로그래밍2판 #공부용

'◼️Flutter' 카테고리의 다른 글

[Dart 3.0] 레코드  (0) 2025.01.25
[Flutter Dart] Stream  (0) 2025.01.25
[Flutter Dart] 비동기 프로그래밍 - Future  (0) 2025.01.25
[Flutter Dart] 캐스케이드 연산자 '..' 키워드  (0) 2025.01.25
[Flutter Dart] static  (0) 2025.01.25

    티스토리툴바