Asked Nov 28th, 2020 7:06 AM 144 0 1
  • 144 0 1
0

Làm sao để Observable emit nhiều giá trị

Share
  • 144 0 1

Anh em cho mình hỏi làm sao để emit nhiều value trong một observable vậy ạ

Mình đang làm hàm download file trả về Observable để thông báo cho subcriber khi nào download xong. Tuy nhiên mình muốn thêm nhiều status như START, SUCCESS, PENDING thì đang bị mắc nhờ mọi người giúp đỡ.

Ý tưởng:

Observable.emit(PENDING)
                            .emit(START)
                            .flatMap(() -> {
                                emit(DOWNLOADING); apiService.downLoad()
                            })
                            .onSuccess(emit(SUCCESS));

1 ANSWERS


Answered Nov 30th, 2020 3:07 AM
0

Bạn có thể tạo 1 class Result và gom các trường hợp success, failed, loading,... lại rồi emit thôi bạn, khi subscribe thì check result đó là loại gì rồi xử lý đúng là đc gửi bạn 1 số link tham khảo https://medium.com/swlh/kotlin-sealed-class-for-success-and-error-handling-d3054bef0d4e https://medium.com/androiddevelopers/sealed-with-a-class-a906f28ab7b5 https://phauer.com/2019/sealed-classes-exceptions-kotlin/

Share