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)