【问题标题】:What is the best practice to get data from two different http end points?从两个不同的 http 端点获取数据的最佳做法是什么?
【发布时间】:2020-08-09 04:54:49
【问题描述】:

我想获取一个帖子列表并将它们显示在一个 ListView 中,这个 ListView 的每个元素都包含一个标题、正文和 userImage。 这些数据将来自众所周知的jsonplaceholderhttps://jsonplaceholder.typicode.com/postshttps://jsonplaceholder.typicode.com/users的两个不同端点

我已经制作了 Post 和 User 模型。我应该创建另一个 PostWithUser 模型吗?还是什么?

那么结合这两个http请求的有效方法是什么?

对不起,我的英语不好。

【问题讨论】:

  • 您需要在两个表/集合之间创建关系。 Post 模型应包含对用户的引用,以获取其信息。
  • 是的,帖子模型有用户ID

标签: rest http flutter


【解决方案1】:

您可以尝试使用 Future.wait。参考以下文档

https://api.dart.dev/stable/2.5.0/dart-async/Future/wait.html

例如。 Future.wait([apiCall1(), apiCall2()])

【讨论】:

  • 嗯。第一个请求返回一个帖子列表。我应该使用posts.forEach() 来获取每个帖子的用户图像吗?还是有更好的方法来实现?
  • 鉴于 post 模型具有用户 ID,您可以考虑以下事项: 1. 使用 Future.wait 确保您有可用的帖子和用户 2. 创建一个 Map userMap这将让您有效地将用户 ID 映射到 userImage 以及您需要通过帖子(名称等)显示用户的任何其他内容。 3. 使用 userMap 和 posts 对象来生成帖子的 listView 或初始化一个包含用户信息的完整帖子的模型。
猜你喜欢
  • 2021-05-20
  • 2023-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-09
  • 1970-01-01
  • 2010-12-01
相关资源
最近更新 更多