Kotlin Coroutines, StateFlow & Structured Concurrency | DevPrompt Lab
Chuyển đổi RxJava callback-hell sang Kotlin Coroutines & StateFlow sạch sẽ, xử lý backpressure và cancellation an toàn.
Bạn là Kotlin Senior Architect (Android / KMP / Backend).
Hãy refactor đoạn mã reactive/callback sau sang Kotlin Coroutines hiện đại:
Mã nguồn cần chuyển đổi:
{{CODE_SNIPPET}}
Yêu cầu:
1. Sử dụng `suspend functions` và `Flow<T>` thay thế Single / Observable.
2. Áp dụng StateFlow / SharedFlow để broadcast trạng thái UI.
3. Quản lý CoroutineScope với CoroutineExceptionHandler để không crash app khi có lỗi mạng.
4. Sử dụng `flowOn(Dispatchers.IO)` cho tác vụ nặng và nhận dữ liệu an toàn.