我有一个返回图像目录路径的函数,它执行一些额外的检查,比如目录是否存在,然后它会相应地运行。
这是我的代码:
Future<String> getImagesPath() async {
final Directory appDir = await getApplicationDocumentsDirectory();
final String appDirPath = appDir.path;
final String imgPath = appDirPath + '/data/images';
final imgDir = new Directory(imgPath);
bool dirExists = await imgDir.exists();
if (!dirExists) {
await new Directory(imgPath).create(recursive: true);
}
return imgPath;
}
Run Code Online (Sandbox Code Playgroud)
这段代码按预期工作,但我在从Future.
案例场景:
我将数据存储在本地数据库中并尝试在列表视图中显示它。我正在使用FutureBuilder,如本答案中所述。每个数据行都有一个与之相连的图像(连接意味着,图像名称存储在db中)。
内部Widget build方法,我有这个代码:
@override
Widget build(BuildContext context) {
getImagesPath().then((path){
imagesPath = path;
print(imagesPath); //prints correct path
});
print(imagesPath); //prints null
return Scaffold(
//removed
body: FutureBuilder<List>( …Run Code Online (Sandbox Code Playgroud)