반응형

async 4

15. [Flutter] 플러터 성능향상을 위한 꿀팁(2부GestureDetect와 BuildContext sync)

오늘은 Flutter에서 버튼 혹은 사용자의 이벤트 발생에 의해 실행되는 비동기 호출에 대해서 알아보자. 우리는 GestureDetector 혹은 ElevatedButton을 이용해서 사용자의 클릭이벤트를 받곤 한다. 예를 들어 버튼을 클릭하면 서버와 통신을 해서 특정 데이터를 가져와서 화면을 새로 고치거나 새로운 화면을 보여준다. 만약 여기서 onTap에다가 async를 달아서 비동기로 만들어서 실행을 하는데, BuildContext가 변경된다면 어떤일이 생길까? 그리고 Context의 종속성에 자유로운(?) GetX를 이용했을 때에도 어떻게 되는지 알아보자. 참조 및 버전 https://www.youtube.com/watch?v=bzWaMpD1LHY Flutter 3.0.5 • channel stab..

Study/Dart,Flutter 2022.09.12

4. Dart Flutter, 플러터의 비동기식 Future, await 그리고 async

포스팅이 점점 더 기초적으로 가지만, 짚고 넘어가야 할 것 같아서 작성하게 되었다. 앞서 Dart의 비동기의 작동방식을 살펴보았다. 그러면 어떻게 사용하는지 살펴보자. 바쁜 사람을 위한 빠른 결론! Dart Flutter에서 비동기식을 사용할 때 Future, async, await를 사용한다. 함수 이름 앞 Future은 반환을 나타낸다. 가독성을 위해 적는것을 추천하지만, 생략해도 무방하다. await를 사용하기 위해서는 반드시 async가 적혀있어야한다. await를 사용하면 비동기 함수가 끝날때까지 기다리며, await를 사용하지않으면 기다리지않는다. 비동기함수가 끝났음을 알리고싶다면 Callback함수를 이용하여 알릴 수 있다. 직전 포스팅을 안 읽은 사람들을 위해 Dart 공식홈페이지 링크를 ..

Study/Dart,Flutter 2021.07.28

3. Dart Flutter, Asynchronous, Isolates와 Event Loop 에 관한 고찰

오늘은 이론적인 내용을 다뤄보도록 하자. Flutter로 개발을 하면 흔하게 사용하는 Future, async 그리고 await가 비동기식으로 작동하는 원리를 파악해보려고 한다. 먼저 Dart 공식 홈페이지에서 찾아보았다. https://dart.dev/codelabs/async-await Asynchronous programming: futures, async, await Learn about and practice writing asynchronous code in DartPad! dart.dev 읽어보면 Asynchronous 즉 비동기식 프로그래밍, futures, async 그리고 await에 관련된 내용이 나온다. 비동기식이란 동시에 일어나지 않게 일처리 하는 방식을 뜻하며, 동기식의 반대되는..

Study/Dart,Flutter 2021.07.23

1. Dart Flutter, Future의 whenComplete, then 그리고 catchError의 고찰(수정)

Flutter로 앱 개발 중, 비동기식에 Future의 WhenComplete와 Then의 차이점이 문득 궁금해졌다. 그리고 catchError는 어떻게 작동할까? 바쁜 사람을 위해 결론! Then과 whenComplete는 역할이 다르다. Then은 Error가 없다면 결괏값을 value로 받아서 실행한다. 하지만, Error가 Return 되면 출력이 되지 않는다. WhenComplete는 Future가 끝나면 무조건 실행된다.(Error 발생 유무에 관계가 없다.) catchError는 Error가 Return이 될 때 작동하며, Error가 Return 되더라도 catchError가 있다면 Then이 실행된다. 1. Then, whenComplete, catchError,는 try, catch, ..

Study/Dart,Flutter 2021.05.12
반응형