Код выглядит следующим образом:
import { timer, from } from 'rxjs'
import { map, concatMap, filter, take } from 'rxjs/operators'
timer(0, 500)
.pipe(concatMap(() => from(fetch(`/tasks/${taskId}`))
.pipe(map(response => response.json())))
)
.pipe(filter(backendData => backendData.processing === false))
.pipe(take(1))