• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

StreamSubscription 해제시키기

23.06.20 16:39 작성 조회수 199

0

강의 마지막 부분에 StreamSubscription 해제 관련해서 질문드립니다.

dispose에서 _subscription?.cancel(); 해주는데 다시 화면에 들어가면 오류가 발생하여

StreamController 의 속성을 boradcast 로 주어 오류를 해결하셧는데 stream 을 해제해야 StreamSubscription 이 해제되어야 할 것 같은데 broadcast 에서는 이전에 구독한게 계속 남아있지 않을까요??

답변 1

답변을 작성해보세요.

0

StreamController 는 기본적으로 하나의 관찰만 허용합니다.

broadcast() 생성자로 생성하면 여러개의 관찰이 허용됩니다.

예제 코드에서는 ViewModel 을 하나의 인스턴스만 재사용하고 있어서 여러번 listen을 하기 위해서 broadcast() 생성자를 사용하는것이 포인트입니다.

dispose에서 cancel()이 이루어 지므로 이전 구독이 남아있거나 하지는 않습니다.