当前 Dart 环境:
Dart VM 版本:“linux_x64”上的 2.0.0-dev.69.0(未知时间戳)
我正在尝试通过Isolate产生一个隔离物。spawnUri方法,并在消息中包含一个SendPort。我的代码设置如下:
import 'dart:convert' show json;
import 'dart:isolate';
var servicePort = new ReceivePort()
..listen (/stuff to handle response/);
Map isolateRequest = {
'sendPort': servicePort.sendPort, <-- String => SendPort
'info': json.encode (/info to send to spawned isolate/) <-- String => String
};
Isolate.spawnUri (new Uri.file (/isolate main/), [], isolateRequest);
这种类型的设置曾经奏效。现在我收到以下错误:
“无效参数:隔离消息中的非法参数:(对象是常规 Dart 实例)”
Map 的两个键是字符串,值包括一个SendPort和另一个字符串。简单,没什么花哨的,并且应该可以作为消息发送以产生隔离(直到几天前工作得很好)。
问题:是什么改变了我现在做错了什么?什么是潜在的解决方法?
任何帮助将不胜感激。