首页 > 解决方案 > 有没有办法同步获取文档目录?

问题描述

在显示第一个屏幕之前,我需要加载一个小的设置文件。

我目前正在使用 PathProvider 插件,但其中的所有功能都是异步的。

有什么方法可以同步找到应用文档目录,然后在上面使用 dart:io 同步功能?而不是显示一秒的无限小数的占位符。

编辑:考虑到前 2 个答案,我的解释可能真的很糟糕。答案建议我仍然使用async代码。问题是,我需要之前的目录runApp(),我不希望我void main()成为async,因为这肯定会破坏任何启动动画。

并且 PathProvider API 是async,据我所见,只是因为它利用了MethodChannel,即async,但 PathProvider 中它背后的函数几乎是同步的。

我要问的是 - 在 Android 或 IOS 上,有没有办法在同步代码中了解 ApplicationDocumentsDirectory?也许根本不使用特定于平台的代码?

标签: flutterdart

解决方案


您可以将FutureBuilder其用于相同的目的,而不必担心执行。

它将允许您在后台执行您的流程,并允许您显示启动屏幕 UI,直到您的指定流程完成并且数据可以使用。

注意:任何需要访问设备本机方法通道的插件或代码将async默认为,因为方法通道本身的访问应该是async.


推荐阅读