我正在使用flutter的fuzzywuzzy包,我不知道为什么,但它说我的结果变量为空。
你们能帮我解释一下为什么吗?
我想要result的值,我试着把它放在await语句中,但它说result为null
Future<List<DocumentSnapshot>> performFuzzySearch(String searchText) async {
final querySnapshot = await FirebaseFirestore.instance.collection('Question Papers').get();
final searchResults = querySnapshot.docs.where((doc) {
print(doc["Keywords"]);
print(searchText);
final result = extractOne(query: searchText,
choices: doc["Keywords"],
cutoff: 10,
);
if (result.score >= 80) {
return true;
}
return true;
}).toList();
searchResults.sort(
(a, b) => b['Votes'].compareTo(
a['Votes'],
),
);
return searchResults;
}
我的错误在于结果
1条答案
按热度按时间qij5mzcb1#
如果extractOne没有找到足够接近的匹配,它将返回null。在访问其score属性之前检查结果是否为null。
我修改了你的密码。希望这对你有用。