Using RxJS, I want to invoke two different asynchronous operations, which may or may not return
null. They may also take indefinite time to complete.
I want to achieve the following:
- If operation A returns value 1, then immediately return value 1
- If operation B returns value 2, then immediately return value 2
- If both operation A and B return
null, then return
I suppose I can achieve the first two simply as follows:
const bothOperations = merge(callA(), callB()); const firstSuccess = bothOperations.first(res => res !== null); return firstSuccess;
But how do I get the third possibility into this?