// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. // Example of nested spawning of isolates from a URI import 'dart:isolate'; import 'package:expect/async_helper.dart'; import 'package:expect/expect.dart'; main() { asyncTest(() async { final port = ReceivePort(); final exitPort = ReceivePort(); Isolate.spawnUri( Uri.parse('spawn_uri_nested_child1_vm_isolate.dart'), [], [ [1, 2], port.sendPort, ], onExit: exitPort.sendPort, ); asyncStart(); port.first.then(asyncSuccess); // ensure main isolate doesn't exit before child isolate exits await exitPort.first; }); }