Creates and spawns an isolate that runs the code from the library with the specified URI.
Creates and spawns an isolate that runs the code from the library with the specified URI.
The isolate starts executing the top-level main
function of the library
with the given URI.
The target main
must be a subtype of one of these three signatures:
main()
main(args)
main(args, message)
When present, the parameter args
is set to the provided args list.
When present, the parameter message
is set to the initial message.
If the paused parameter is set to true
,
the isolate will start up in a paused state,
as if by an initial call of isolate.pause(isolate.pauseCapability)
.
This allows setting up error or exit listeners on the isolate
before it starts running.
To resume the isolate, call isolate.resume(isolate.pauseCapability)
.
If the checked parameter is set to true
or false
,
the new isolate will run code in checked mode,
respectively in production mode, if possible.
If the parameter is omitted, the new isolate will inherit the
value from the current isolate.
It may not always be possible to honor the checked
parameter.
If the isolate code was pre-compiled, it may not be possible to change
the checked mode setting dynamically.
In that case, the checked
parameter is ignored.
WARNING: The checked parameter is not implemented on all platforms yet.
If the packageRoot parameter is provided, it is used to find the location
of packages imports in the spawned isolate.
The packageRoot
URI must be a "file" or "http"/"https" URI that specifies
a directory. If it doesn't end in a slash, one will be added before
using the URI, and any query or fragment parts are ignored.
Package imports (like "package:foo/bar.dart") in the new isolate are
resolved against this location, as by
packageRoot.resolve("foo/bar.dart")
.
This includes the main entry uri if it happens to be a package-URL.
If packageRoot is omitted, it defaults to the same URI that
the current isolate is using.
WARNING: The packageRoot parameter is not implemented on all platforms yet.
Returns a future that will complete with an Isolate instance if the spawning succeeded. It will complete with an error otherwise.