我有一个这样的JSON响应:
{
"uuid": "c6514be0-cced-43b7-b1f4-e66256c1dcaf",
"title": "Harry Potter",
"author": "6637e87b-c2ce-4774-b812-4e8a09312a40",
}
字符串
此答案通过作者密钥与另一个答案相关联:
{
"author": "6637e87b-c2ce-4774-b812-4e8a09312a40",
"name": "J.K. Rowling",
}
型
所以我有一个图书类的第一React
class Book {
final String uuid;
final String title;
final Author author;
Book({
required this.uuid,
required this.title,
required this.author,
});
}
型
和一个用于第二响应的Author类
class Author {
final String uuid;
final String name;
Book({
required this.uuid,
required this.name,
});
}
型
我的问题是,是否有一种方法可以在图书工厂期间直接获取作者。我尝试了这个方法,但我不能等待响应:
factory Book.fromJson(Map<String, dynamic> json) {
return Book(
uuid: json['uuid'],
title: json['title'],
author: fetchAuthor(json['author']),
);
}
型
在哪里
Future<Author> fetchAuthor(authorUuid) async {
http.Response author = await http.get(
Uri.parse(apiURLAuthors + authorUuid),
);
if (author.statusCode == 200) {
return Author.fromJson(jsonDecode(utf8.decode(author.bodyBytes)));
} else {
throw Exception("Failed to load author $authorUuid");
}
}
型
1条答案
按热度按时间iqjalb3h1#
我不确定,但你可以在另一个类中调用2个模型类(图书和作者)。然后创建一个函数来调用这两个模态类中的数据,并将其放入全局变量中。现在,您可以全局访问两个模态类的数据。如果你想创建列表,那么你设置列表变量中的所有值,否则你也可以创建不同的数据类型值,并保存该特定索引的数据