Demo: find
find emits only the first item from the source, matching the specified condition.
find( v=> (condition))
It's similar to first but, does not throw any error in case of no match.
//Each item is delayed by v*100 milliseconds
let input = of(2,5,6,15,5,25,6,6,18,5)
.pipe(concatMap(v=>of(v).pipe(delay(100*v))));
//finds the first match
let process = find(v => (v%5 == 0));
let output = input.pipe(process).subscribe(v=>console.log(v))