我正在使用 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() 是同步函式,但有什么方法可以在異步函式中轉換?
uj5u.com熱心網友回復:
使用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);
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478460.html
上一篇:顫振更新具有特定專案的所有條目-firebase-database
下一篇:如何在顫振中使用富文本的焦點?
