返回类型“ List <Menu>”不是方法“ anaMenuListeyiAl”

时间:2019-11-20 18:24:16

标签: list flutter methods future defined

https://paste.ubuntu.com/p/HzMF3ShspF/我创建了这个模型类,以便在页面加载时从json数据中获取信息

https://paste.ubuntu.com/p/hKmNTjFwkX/,这是我使用menuFromJson方法访问数据的功能,但现在显示

返回类型“ List”不是方法“ anaMenuListeyiAl”定义的“ Future”。我不知道该怎么办,有人可以帮助我。

2 个答案:

答案 0 :(得分:0)

这里有两件事是错误的: 首先,您的Future anaMenuListeyiAl()方法是一个Future,它尝试返回单个菜单,但您想使该菜单返回列表,因此请更改:

Future<Menu> anaMenuListeyiAl()async {

Future<List<Menu>> anaMenuListeyiAl()

然后,正如我所说,您的方法将返回一个未来,因此您必须等待它或在futurebuilder中使用它。

List<Menu> menuList = await anaMenuListeyiAl();

或处于初始化状态:

anaMenuListeyiAl().then((menuList){
 print(menuList);
});

更新代码:

这是正确的功能:

  Future<List<Menu>> anaMenuListeyiAl() async{
List<Menu> menuList;
final response = await http.post(
    global.apiUrl + global.anaMenuListe,
    headers: {"Content-type": "application/json"},
    body: json.decode({
      "key": "${global.key}", 
      "islem_kodu": "00X"
    }));
if(response.statusCode==200){
 menuList = menuFromJson(response.body);
}else{
 print("Unathorized");
}

return menuList;
}

答案 1 :(得分:0)

先生,这一次,当我尝试从主页访问方法时,我无法访问变量     islemDonus = IslemDonus();     islemDonus.anaMenuListeyiAl()。then((gelecekDeger){       gelecekDeger。     });