As the comment explains, a promise will let you chain the operation, but you end up with one result.
With RxJava, you can get notified multiple times and then get multiple results.
A Promise can be thought of as an async operation and an Observable as an async * operation.
source
to share