Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 从未来检索数据<;目录>;功能_Flutter_Dart - Fatal编程技术网

Flutter 从未来检索数据<;目录>;功能

Flutter 从未来检索数据<;目录>;功能,flutter,dart,Flutter,Dart,因此,基本上我想从名为getTemporaryDirectory()的path_提供程序函数中检索目录,而从名为getDir()的函数中返回数据类型时遇到了一个问题,该函数应该返回一个类型目录变量,而不是返回一个动态类型 目录tempDir; 异步的{ Directory dire=await getTemporaryDirectory();/!临时目录 回归可怕; } getDir()异步{ 目录dir=wait dire(); 返回目录; } @凌驾 void initState(){ te

因此,基本上我想从名为getTemporaryDirectory()的path_提供程序函数中检索目录,而从名为getDir()的函数中返回数据类型时遇到了一个问题,该函数应该返回一个类型目录变量,而不是返回一个动态类型

目录tempDir;
异步的{
Directory dire=await getTemporaryDirectory();/!临时目录
回归可怕;
}
getDir()异步{
目录dir=wait dire();
返回目录;
}
@凌驾
void initState(){
tempDir=getDir();
}
我得到的错误是:
类型“Future(dynamic)”不是您可能要考虑的类型“Directory”的子类型

Directory dir=(wait dire())作为目录;

注意:我对Dart的了解已经过时了,也许我不应该在上面回答关于它的问题,所以你最好为getDir指定一个返回类型:

Future getDir()异步{
您不能在initState中等待值,因此必须使用回调:

@覆盖
void initState(){
super.initState();
getDir()。然后((v){
设置状态(){
tempDir=v;
});
});
}

如果
dire
getDir
方法返回相同的内容,为什么您需要这两种方法?如果您希望从已完成的
Future
中获取数据,请使用其
then()
方法,例如,您将能够列出文件