我有这个功能,想同步调用它,因为如果我异步调用它,那么我应该使用FutureBuilder,我不喜欢它,因为如果用户滚动太快,它会产生额外的闪烁:
Future<String> getRealHTML(int chapter) async {
var key = _Html.keys.toList()[chapter];
var val = _Html.values.toList()[chapter];
if (val.Content.startsWith("filename:")) {
EpubContentFileRef value = contentRefHtml[key];
return await value.readContentAsText();
}
return null;
}
答案 0 :(得分:1)
List
返回一个readContentAsText()
,您不能同步调用它,因为它是一个I / O请求,这意味着需要花费一些时间来完成请求,这就是为什么它被异步调用的原因。