Open dineshrajbhar777 opened 4 years ago
Access should be done in the main isolate only.
Some related discussions here:
I faced the same issue. I managed to get data from isolated with help of Stream. Here is the snippet
// create stream controller with whatever data type you want to communicate
var controller = StreamController<Map<String, String>>();
controller.stream.listen((data) {
// process Map<String, String> data here
});
// pass controller to isolated function
await compute(fetch, controller);
controller.close();
static fetch(StreamController<Map<String, String>> controller) {
// compute logic
// send data main isolated
controller.add({"foo": "bar"})
}
To pass persistent data between isolates in Flutter Dart, consider using the Drift database. Drift offers built-in threading support, allowing easy database operations across isolates without extra effort.
More about Isolates - https://drift.simonbinder.eu/docs/advanced-features/isolates/
I am trying to do data syncing from server in separate dart isolate/compute and also need to dump downloaded data to database using SQFlite but I am getting error that I can't figure out what was gone wrong.
here is the code
here is the error log