// isolate-demo.dart
import 'dart:isolate';
Future<void> main(List<String> args) async {
var receivePort = ReceivePort();
Isolate.spawn(_entryCallback, {
'request': 'Initialize',
'replyTo': receivePort.sendPort,
});
var responseMessage = await receivePort.first;
print('response ${responseMessage['response']}');
}
void _entryCallback(Map initialMessage) {
print('request ${initialMessage['request']}');
var receivePort = ReceivePort();
(initialMessage['replyTo'] as SendPort).send({
'response': 'Initialized',
'replyTo': receivePort.sendPort,
});
}
$ flutter pub run isolate-demo.dart
request Initialize
response Initialized
参考:
[dart-announce] Dart2 Breaking Change: Removing web support for dart:mirrors and dart:isolate