Flutter 如何在flatter中同步读取文件

Flutter 如何在flatter中同步读取文件,flutter,dart,filesystems,Flutter,Dart,Filesystems,基本上,我需要将文件作为字符串同步地读取到flifter中,并使用导入声明变量。我这样做的原因是因为我使用的graphql小部件需要查询字符串。我希望在它们的graphql文件中包含这些代码,这样我就可以根据我的模式获得vscode intellisense和验证,而不希望在构建方法中使用异步代码 我尝试使用darts File().readAsStringSync(),但它似乎无法解析相对路径。我知道有path_provider插件,但它只能异步解析应用程序路径。您只需在构建小部件之前获取路径

基本上,我需要将文件作为字符串同步地读取到flifter中,并使用导入声明变量。我这样做的原因是因为我使用的graphql小部件需要查询字符串。我希望在它们的graphql文件中包含这些代码,这样我就可以根据我的模式获得vscode intellisense和验证,而不希望在构建方法中使用异步代码


我尝试使用darts File().readAsStringSync(),但它似乎无法解析相对路径。我知道有path_provider插件,但它只能异步解析应用程序路径。

您只需在构建小部件之前获取路径,比如说在推送路径之前。
readAsString
readAsStringSync
在功能上没有区别。@creativecreatorormaybeno是的,它们的功能是一样的,只是一个是同步,另一个是未来。我可以在main函数中使用path_provider中的getApplicationDocumentsDirectory(),但是我必须将该路径存储在state中,并且仍然必须硬编码相对于基本应用程序目录的graphql文件路径。仅仅将文件作为文本读取似乎过于复杂。由于解析应用程序路径的唯一方法是使用path_provider插件,并且所有函数都是异步的,因此我不能简单地将它们与导入语句一起作为常量放置。您只需在构建该小部件之前获取路径,比如说在推送路由之前。
readAsString
readAsStringSync
在功能上没有区别。@creativecreatorormaybeno是的,它们的功能是一样的,只是一个是同步,另一个是未来。我可以在main函数中使用path_provider中的getApplicationDocumentsDirectory(),但是我必须将该路径存储在state中,并且仍然必须硬编码相对于基本应用程序目录的graphql文件路径。仅仅将文件作为文本读取似乎过于复杂。由于解析应用程序路径的唯一方法是使用path_provider插件,并且所有函数都是异步的,所以我不能简单地将它们与import语句一起作为const放置。