인프런 커뮤니티 질문&답변

유한규님의 프로필 이미지
유한규

작성한 질문수

Flutter 초입문 왕초보편

060. Dart 에서 비동기 처리 원칙

60강 비동기 처리 부분 문의

해결된 질문

작성

·

182

·

수정됨

0

future를 통한 sharedpreferences에 저장할때 비동기로 처리해야할때, 향후 로직이 많아지게 될 경우 dispose가 된 이후에 controller의 값을 가져오게 되어 문제가 발생할 확률이 높아질것 같습니다. (향후에 찾기도 어려울것 같은..)

이럴때 어떻게 처리하는것이 좋을까요? future 메서드가 종료된 이후에 페이지 전환이 발생하도록 할 수 있나요?

답변 1

1

오준석님의 프로필 이미지
오준석
지식공유자

궁극적인 방법으로는 다다다음 강의인 응용편에서 다루는 MVVM 패턴을 적용하여 controller 의 값을 ViewModel에 미리 저장해 두면 해결됩니다.

그리고 특정 상황에서 Future를 취소시키는 방법 또한 존재합니다.
https://pub.dev/documentation/async/latest/async/CancelableOperation-class.html

그리고 말씀하신 상황이 발생했을 때는 로그에 분명하게 에러가 표시될 것이므로 발견이 어렵지 않을겁니다.

왕초보편에서는 빠르게 Flutter의 기본 기능을 익혀 가는 것에 초점을 두고 있어서 이러한 고급 내용은 다루지 않고 있습니다.

유한규님의 프로필 이미지
유한규
질문자

답변을 해주시는군요!!

 

감사합니다! 도움이 되었습니다!

유한규님의 프로필 이미지
유한규

작성한 질문수

질문하기