【发布时间】:2020-11-14 00:37:33
【问题描述】:
社区。 我需要帮助。 在 main.dart 中,我正在调用另一个类中的未来函数。
@override
void initState() {
super.initState();
getCall();
}
和接电话是一样的。
Future<List> futureloinlevel;
AsynFunctions ayncla=new AsynFunctions();
void getCall(){
try{
futureloinlevel= ayncla.fetchloginlevel("StoreLogin", lang, context);
} catch (err) {
print('Caught error: $err');
}
}
AsynFunctions类中的函数是
Future<List<Result>> fetchloginlevel(String screenname,String lang,BuildContext context) async {
var lname="ShowScreenLabels?ScreenName=";
List<Result>resultlist;
try{
var clien=await genrateClient(context);
var link="$v$lname$screenname&LangType="+lang;
print(link);
var request = await clien.getUrl(
Uri.parse(link));
request.headers.set("authorization", StoreConfig.basicAuth);
HttpClientResponse response = await request.close();
print(response.toString());
response
.transform(utf8.decoder)
.listen((contents) async {
if (response.statusCode == 200) {
print(contents);
userMap = await jsonDecode(contents)as Map;
var uer= LoginLevel.fromJson(userMap);
resultlist=uer.result;
} else {
throw Exception('Failed to load album');
}
});
return resultlist;
}on Exception catch (e) {
print('error caught: $e');
}
}
此函数不返回任何内容。我如何从这里返回未来列表? 调用函数时显示 Null。
【问题讨论】:
-
任何人都可以告诉我我从 6 天开始就开始工作吗?
-
命令 print(contents) 的结果为空?
标签: flutter dart httpclient