// 이곳에 쓴 내용은 앱 만들기라는 버킷리스트를 달성하기 위해 플러터를 공부하면서 정리하고 있는 내용입니다.
플러터에 대해 아는 것이 거의 없기 때문에 정리하면서 오류가 있을 수 있습니다.
오류를 발견하신 분은 댓글 남겨 주시면 감사하겠습니다.
동기, 비동기
동기: 요청하고 나서 답이 올 때까지 기다리기
비동기: 요청 응답이 오지 않았음에도 다음 코드 진행
Future
순서대로 실행하지 않고, 3초 기다리라는 명령어 이후에 나와 있는 코드부터 실행하고 3초 후에 값이 나오는 걸 볼 수 있다.
async, await
이 녀석들을 이용하면 비동기 프로그램밍 특징을 그대로 유지하며 코드가 작성된 순서대로 실행함.
아래처럼 main함수에 async와 await을 넣으면 각 함수별로 실행이 종료된 다음에 다음 코드를 실행하게 됨.
아래처럼 결과값을 받을 수 있다. 중간에 void를 int로 바꾸는 것에 주의
Stream
지속적으로 값을 반환받을 때는 Stream을 사용. 개념은 이해하겠으나 아래 코드는 이해는 안 된다.
브로드캐스트 스트림
여러 번 listen()함수를 실행하고 싶을 때 아래처럼 사용하면 된다고 하는데, 역시나 어떤 작동 원리일까?
함수로 Stream 반환하기
스트림에서는 'async*'로 함수 선언, 'yield'로 값 반환
1초 후에 값들이 하나씩 출력되게 된다.
2, 3장은 중요하니 꼭 이해를 하고 넘어가야 한다고 한다.. 난 2, 3번 읽고 반복해도 이해를 못 할 것임으로 다음 장으로 Go Go~~^^
'버킷리스트 > 앱 만들기' 카테고리의 다른 글
오공완(with 코드팩토리의 플러터 프로그래밍) #5-1 (위젯) (0) | 2024.07.17 |
---|---|
오공완(with 코드팩토리의 플러터 프로그래밍) #4 (flutter 입문, usb 연결) (0) | 2024.07.16 |
오공완(with 코드팩토리의 플러터 프로그래밍) #2-3 다트 객체지향 프로그래밍(제네릭, 스택틱, 캐스케이드 연산자) (1) | 2024.07.09 |
오공완(with 코드팩토리의 플러터 프로그래밍) #2-1 다트 객체지향 프로그래밍(클래스) (0) | 2024.07.06 |
오공완(with 코드팩토리의 플러터 프로그래밍) #1-4 다트 입문하기(함수와 람다) (0) | 2024.07.06 |