Illegal argument in isolate mess

2023-03-03  本文已影响0人  吃饱了就送

注意 isolate 开启的线程不能在类里面,不然就是主线程了

///发送guid
void startDownLoad(String guid) async {
  ReceivePort receivePort = ReceivePort();
  receivePort.listen((message) {
    if(message is SendPort){
      message.send(guid);
    } else {
      print("message=====$message");
    }
  });
  await Isolate.spawn(dataLoader, receivePort.sendPort);
}

void dataLoader(SendPort sendPort) {
  final receivePort2 = ReceivePort();
  sendPort.send(receivePort2.sendPort);
  receivePort2.listen((message) {
    if (message is String) {
      print("message=====$message");
      if (message == 'send') {
        sendPort.send("get");
      }
    }
  });
}

dataLoader 必须是顶层函数

上一篇 下一篇

猜你喜欢

热点阅读