Dart 中的异步 .sort()

Async .sort() in dart

我正在使用 dart/flutter,我需要对大值(10,000、20,000 90,000 100,000 项)进行排序,并且由于正在处理非常大的数据量,应用程序崩溃了几秒钟.我的疑问是:有没有办法将 sort() 函数用作异步,以便在数据排序时显示 loadingProgressIndicator()?

像这样:

listFilt.sort((a,b)=> a.compareTo(b))

我想转换成类似的东西:

 showCircularIndicator = true;
 await listFilt.sort((a,b)=> a.compareTo(b));
 showCircularIndicator = false;

我知道 sort() 是同步函数,但有什么方法可以转化为异步函数?

使用compute,这里是根据标题对照片进行排序的例子。

List<Photo> sortPhotos(List<Photo> photos) {
  photos.sort((a,b) => a.title.compareTo(b.title));
  return photos;
}

...
final List<Photo> photos = await ...
final result = await compute(sortPhotos, photos);