Задать вопрос
@nikitasalnikov
Новичок

Как сделать функцию с двойным запросом получения данных по http?

Здравствуйте, есть два разных json которые я получаю. Оба запроса реализованы в разных функциях. Как сделать два этих
запроса в одной функции чтобы я мог встраивать данные из одного json и из другого в один ListTile.
Ссылки:
https://jsonplaceholder.typicode.com/users
https://jsonplaceholder.typicode.com/posts

первый запрос на получение данных:

static const String _scheme = 'https';
  static const String _host = 'jsonplaceholder.typicode.com';
  static Future<List<Users>> getUsers() async {
    const String path = 'users';
    Uri url = Uri(
      scheme: _scheme,
      host: _host,
      path: path,
    );
    final response = await http.get(url);
    final json = jsonDecode(response.body) as List<dynamic>;

    final usersData = json.map<Users>((item) {
      return Users.fromJson(item as Map<String, dynamic>);
    }).toList();

    return usersData;
  }


второй запрос:

static Future<List<Posts>> getPosts() async {
    final String path = dotenv.get('POSTS_PATH');
    Uri url = Uri(
      scheme: _scheme,
      host: _host,
      path: path,
    );
    final response = await http.get(url);
    final json = jsonDecode(response.body) as List<dynamic>;

    final postData = json.map((item) {
      return Posts.fromJson(item as Map<String, dynamic>);
    }).toList();

    return postData;
  }


классы Users и Posts имеются, сгенерировал через json to dart
  • Вопрос задан
  • 74 просмотра
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Neonoviiwolf
Flutter developer
Future.wait<dynamic>([getUsers(),getPosts()])
как вариант для обеих функций (будет одновременный вызов)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы