asynchronous - 在Dart中以同步方式调用异步功能

标签 asynchronous flutter dart async-await

我有这个函数,想同步调用它,因为如果我异步调用它,那么我应该使用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;
  }

最佳答案

readContentAsText()返回一个Future,您不能同步调用它,因为它是一个I / O请求,这意味着需要一定时间才能完成该请求,这就是为什么它被异步调用的原因。

关于asynchronous - 在Dart中以同步方式调用异步功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60360215/

相关文章:

dart - 具有动画子级大小的Flutter PageView.builder

flutter - 是什么导致问题线程 1 : EXC_RESOURCE RESOURCE_TYPE_MEMORY (limit=650 MB, 未使用=0x0)?

dart - 在 Dart for-in 循环中使用 "final"或 "var"?

flutter - 我无法将小部件居中放置

node.js - 函数回调的返回值

python - Flask:异步响应客户端

powershell - 在 PowerShell 中异步调用 System.Action 实例

flutter - 从 Visual Studio Code 运行所有 Flutter 单元测试

performance - Canvas 多个文本绘制性能

c# - 将 UI 线程的 TaskScheduler 存储在字段中是否安全?