The return type is List[Future[Int]]. In a normal way, I can just do Future.sequence and get List[Future[Int]]. But in this scenario it won’t work as I have a failed Future. So I want to convert this to List[Future[Int]] by ignoring the failed Futures. How do I do that?

Second Q on similar topic I have is, I understand filter, collect, partition, etc on a List. In this scenario, say I wanted to filter/partition the list into two lists - Failed Futures in one - Successfully done Futures in another.

That said, you may also want to look at a library that has more control over the execution model, like Monix. I haven’t used monix, but it looks like it would have a lot of flexibility if you are working with things like Futures a lot, and in more sophisticated ways.