Open rommansabbir opened 3 years ago
This can be solved by Coroutines, Async and Await
CoroutineScope(Main){ val stock1 = async(IO){ getStock1() // Api Call }val stock2 = async(IO){ getStock2() // Api Call }val total = stock1.await() + stock2.await() Log.i(“total”, total) }
On Thu, May 20, 2021 at 7:38 PM Romman Sabbir @.***> wrote:
Scenario:
- I have 3 UseCase to perform 3 different API Request.
- Based on the 3 UseCase response I need to combine them all according to the business logic.
Right now, I'm doing it by calling the 1st UseCase, then based on response, then another & so on.
So, how can I combine/zip them all in a single request or chain them one by one in a proper way?
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/android10/Android-CleanArchitecture-Kotlin/issues/111, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAIYEFBVIEAECQ4J45LTOLTTOUJUXANCNFSM45HDCB7A .
--
Thanks, Pankaj
@pankajpy actually, I'm talking about how to merge/combine multiple UseCase into one. Yes, I know how to merge multiple API calling using Coroutine but UseCase is missing in this scenario.
Have a try to combine response in the Repository layer and then pass the Repository to a new UseCase.
@ZhuSniffsTheRose Yes got your point. But the scenario is:
Now, I can call all required api one by one in a single use by adding their dependency, but I want to combine merge/combine multiple UseCase into one.
Scenario:
Right now, I'm doing it by calling the 1st UseCase, then based on response, then another & so on.
So, how can I combine/zip them all in a single request or chain them one by one in a proper way?