Added future_promise()
which returns a promise
that executes the expression using future::future()
. future_promise()
should (typically) be a drop-in replacement for any future::future()
function call. future_promise()
will not execute future
work faster than future::future()
, but future_promise()
will only submit future
jobs if a worker is available. If no workers are available, future_promise()
will hold the expression information in a promise
until a worker does become available to better take advantage of computing resources available to the main R session. For more information, please see the future_promise()
article. (#62)
Added visibility support for Promise$then(onFulfilled)
. (#59)
future::resolved()
and future::value()
by discarding the corrupt future. (#37)Fixed #49: promise_all()
previously did not handle NULL
values correctly. (#50))
new_promise_domain
now takes a wrapOnFinally
argument, which can be used to intercept registration of finally()
. Previous versions treated finally
as passing the same callback to then(onFulfilled=..., onRejected=...)
, and ignoring the result; for backward compatibility, promise domains will still treat finally
that way by default (i.e. if wrapOnFinally
is NULL
, then finally
will result in wrapOnFulfilled
and wrapOnRejected
being called, but if wrapOnFinally
is provided then only wrapOnFinally
will be called). (#43)