반응형
그런거 없다
하지만 다른 방법은 있다. 바로 callback 을 사용하면 된다.
bloc에서 이벤트를 await 하고 싶은 목적은 아마 state 변경 이벤트를 날리고 이후 변경된 state를 이용하여 무언가를 하기 위한 것 일 것이다.
답은 간단하다. state 를 emit 한 후 콜백을 이용하여 이후 작업을 마저 수행해주면 된다.
final class MyEvent extends StudyEvent {
void Function()? callback;
StopStudyEvent({
this.callback,
});
}
myBloc.add(MyEvent(
callback: () async {
하고싶은일 적으면 된다
}
}));
이렇게 이벤트에 콜백을 받아와서 state 를 emit 한 후 콜백을 호출하면 끝
다른방법은 아래 코드를 이용하면 된다 이벤트를 날려주고 awai를 하는 것. 하지만 원하는 이벤트를 명확하게 지저애서 await 하는게 아니라서 좀 그렇다
final nextState = await userBloc.stream.first;
반응형
'Flutter' 카테고리의 다른 글
flutter gpu 예제 분석 (4) | 2024.09.11 |
---|---|
연속적인 애니메이션을 만드는 방법 (0) | 2024.08.22 |
Child가 Rebuild 되지 않도록 하는 원리 (0) | 2024.07.23 |
위젯트리에서 중간에있는 위젯만 리빌드 하고 싶을 때 (1) | 2024.07.22 |
애니메이션을 주고싶은데 자식위젯이 너무 많을 때 (0) | 2024.07.11 |
댓글