Move compute queue onResult callback after removing job

This commit is contained in:
Ming Ming 2024-01-13 02:49:23 +08:00
parent 29bc5567b0
commit d795bfa5ed

View file

@ -19,12 +19,13 @@ class ComputeQueue<T, U> {
Future<void> _startProcessing() async {
while (_queue.isNotEmpty) {
final ev = _queue.first;
final U result;
try {
final result = await compute(ev.callback, ev.message);
ev.onResult(result);
result = await compute(ev.callback, ev.message);
} finally {
_queue.removeFirst();
}
ev.onResult(result);
}
}