| call_mirai | R Documentation |
Waits for the 'mirai' to resolve if still in progress, stores the value at
$data, and returns the 'mirai' object.
call_mirai(x)
x |
a 'mirai' object, or list of 'mirai' objects. |
Accepts a list of 'mirai' objects, such as those returned by mirai_map(),
as well as individual 'mirai'.
Waits for the asynchronous operation(s) to complete if still in progress, blocking but user-interruptible.
x[] may also be used to wait for and return the value of a mirai x, and
is the equivalent of call_mirai(x)$data.
The passed object (invisibly). For a 'mirai', the retrieved value is
stored at $data.
The value of a 'mirai' may be accessed at any time at $data, and if yet to
resolve, an 'unresolved' logical NA will be returned instead.
Using unresolved() on a 'mirai' returns TRUE only if it has yet to resolve
and FALSE otherwise. This is suitable for use in control flow statements such
as while or if.
If an error occurs in evaluation, the error message is returned as a
character string of class 'miraiError' and 'errorValue'. is_mirai_error()
may be used to test for this. The elements of the original condition are
accessible via $ on the error object. A stack trace comprising a list of
calls is also available at $stack.trace, and the original condition classes
at $condition.class.
If a daemon crashes or terminates unexpectedly during evaluation, an 'errorValue' 19 (Connection reset) is returned.
is_error_value() tests for all error conditions including 'mirai' errors,
interrupts, and timeouts.
# using call_mirai()
df1 <- data.frame(a = 1, b = 2)
df2 <- data.frame(a = 3, b = 1)
m <- mirai(as.matrix(rbind(df1, df2)), df1 = df1, df2 = df2, .timeout = 1000)
call_mirai(m)$data
# using unresolved()
m <- mirai(
{
res <- rnorm(n)
res / rev(res)
},
n = 1e6
)
while (unresolved(m)) {
cat("unresolved\n")
Sys.sleep(0.1)
}
str(m$data)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.