The hold() function is a helper to turn a promises::promise() in a
synchronous value: the R session awaits the fulfillment of the promise
and returns the value of the fulfilled promise. An error is thrown if the
promise is rejected or a timeout expires. This is a wrapper around
later::run_now().
Usage
hold(
x,
timeout = 30,
msg = paste("The asynchronous job has not finished in the delay of", timeout,
"seconds.")
)