울트라쥬스 세상

Do it! 플러터 앱 프로그래밍 (2회차) 비동기처리방식/ JSON 데이터 주고받기 본문

두잇! 플러터 앱프로그래밍 공부기록

Do it! 플러터 앱 프로그래밍 (2회차) 비동기처리방식/ JSON 데이터 주고받기

울트라쥬스1 2021. 7. 5. 18:17

2-2. 비동기 방식이란?

: 언제끝날지 모르는 작업을, 기다리지않고, 다음 작업을 처리하게 하는것.
ex ) 어떤함수에 async가 붙어있으면, 다른 함수부터 처리한 후, 다시 돌아와 처리한다. 용량이 적은 일 먼저 시키고 다시 대용량 작업을 할때 유용

👉 다트 코딩 실행 사이트 : https://dartpad.dartlang.org


> 구현 방식 :


- async : 비동기로 만드는 키워드
- await : 언제 끝날지 모르는 함수 앞에 붙히는 키워드
- Future : await 작업을 마친 결과를 받기 위해 비동기 함수 이름 앞에 클래스를 지정함.
(단수 - Future , 복수 - Stream)


> then() 함수

: 비동기 함수가 반환하는 값을 처리함

Q1. 메인 함수 앞에는 왜 Future이 생략되었는가?

—> ???

Q2. then 함수를 사용하는이유:

return(반환)값을 받아서 사용하기위해

TIP. then() 외에 error()함수도 사용할 수 있다.

error() 함수는 실행 과정에서 오류가 발생했을 때 호출되므로, 이를 이용해서 예외 처리 진행




2-3. JSON 데이터 주고받기

: 서버와의 통신 데이터 교환
(장점) 가장 편리하면서 파일 크기도 작음 / convert 라이브러리 필요
> import ‘dart:convert’;

* 9 : jsonDecode() 함수 > JSON 형태의 데이터dynamic 형식리스트로 변환
* 10 : scores is List > scores 변수가 리스트인지, True/False로 점검함



* 11 : scores 데이터를 [인자]로 jsonEncode()함수를 호출하면, key값이 큰 따옴표로 묶이고, 전체 데이터를 작은 데이터로 한번 묶어서 JSON형태의 데이터가 된다.
> 다트는 간단하게 JSON을 만들고, [파싱*]하여 데이터를 주고받는 기능을 제공함
* 어떤 페이지(문서,html 등)에서 내가 원하는 데이터를 특정 패턴이나 순서로 추출해 가공하는 것