I'm developping an app using Flutter. And I want to execute some Firebase queries using Isolate. But each time I run the app I get this error and nothing is displayed.
Here my code
class HomePage extends StatefulWidget {
HomePage({Key key, this.title}) : super(key: key);
final String title;
@override
HomePageState createState() => HomePageState();
}
class HomePageState extends State<HomePage>{
Isolate _isolate;
ReceivePort _receivePort;
String _data;
@override
Widget build(BuildContext context){
return WillPopScope(
child: Scaffold(){
child : Center(child:Text('${_data}'))
});
}
//To start
void _start() async {
_receivePort = ReceivePort();
_isolate = await Isolate.spawn(getData, _receivePort.sendPort);
_receivePort.listen(_displayData, onDone: () {
print("done!");
});
}
//Display data;
void _displayData(dynamic data) {
setState(() {
_data = data;
});
}
static void getData(SendPort sendPort) async{
var fire = Firestore.instance;
fire.settings(persistenceEnabled: true); //I get an error here
fire.document('MODEL/${id}')
.snapshots()
.listen((d) {//I get an error here
sendPort.send(d);
}
}
}
//I call the method _start in the initState
@override
void initState() {
_start();
super.initState();
}
Here is the error that I get
E/flutter (14817): [ERROR:flutter/runtime/dart_isolate.cc(808)] Unhandled exception: E/flutter (14817): error: native function 'Window_sendPlatformMessage' (4 arguments) cannot be found E/flutter (14817): #0 Window.sendPlatformMessage (dart:ui/window.dart:1133:9) E/flutter (14817): #1 _DefaultBinaryMessenger._sendPlatformMessage (package:flutter/src/services/binary_messenger.dart:85:15) E/flutter (14817): #2 _DefaultBinaryMessenger.send (package:flutter/src/services/binary_messenger.dart:129:12) E/flutter (14817): #3 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:309:51) E/flutter (14817): E/flutter (14817): #4 Query.snapshots. (package:cloud_firestore/src/query.dart:61:37) E/flutter (14817): #5 _runGuarded (dart:async/stream_controller.dart:805:24) E/flutter (14817): #6 _BroadcastStreamController._subscribe (dart:async/broadcast_stream_controller.dart:213:7) E/flutter (14817): #7 _ControllerStream._createSubscription (dart:async/stream_controller.dart:818:19) E/flutter (14817): E/flutter (14817): #4 Firestore.settings (package:cloud_firestore/src/firestore.dart:154:19) E/flutter (14817): E/flutter (14817): #5 HomePageState.getData (package:flutter_app/HelpFile/HomePage.dart:207:10) E/flutter (14817): #8 _StreamImpl.listen (dart:async/stream_impl.dart:472:9) E/flutter (14817): #9 HomePageState.getData (package:flutter_app/HomePage.dart:201:10) E/flutter (14817): E/flutter (14817): #10 _startIsolate. (dart:isolate-patch/isolate_patch.dart:308:17) E/flutter (14817): #11 _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:172:12)
_getData
function? – Igor Kharakhordin