Perform an async operation repeatedly until it returns false
.
Runs f repeatedly, starting the next iteration only when the Future
returned by f completes to true
. Returns a Future that completes once
f returns false
.
The return values of all Futures are discarded. Any errors will cause the iteration to stop and will be piped through the returned Future.
The function f may return either a bool or a Future that completes to a bool. If it returns a non-Future, iteration continues immediately. Otherwise it waits for the returned Future to complete.