"delay" returns a promise which resolves only after the specified
number of seconds. This uses the R event loop via later.
[async] construct you can use
await(delay(secs)) to yield
control, for example if you need to poll in a loop.
delay(secs, expr = NULL)
The promise will resolve after at least this many seconds.
The value to resolve with; will be forced after the delay.
An object with class "promise".