С помощью FutureBuilder развевается, как мы можем создать список с отложенной загрузкой или большим количеством элементов загрузки, обращаясь к веб-сервису. - PullRequest
0 голосов
/ 24 августа 2018

Я пытаюсь сделать просмотр списка при загрузке с ответом веб-сервиса в режиме реального времени. Может ли кто-нибудь мне помочь?как этого добиться?

1 Ответ

0 голосов
/ 24 августа 2018

Вы должны анализировать данные в фоновом режиме.

Создать метод для извлечения данных:

Future<List<Photo>> fetchPhotos(http.Client client) async {
  final response =
      await client.get('https://jsonplaceholder.typicode.com/photos');

  // Use the compute function to run parsePhotos in a separate isolate
  return compute(parsePhotos, response.body);
}

Добавить метод извлечения в builder FutureBuilder.

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: FutureBuilder<List<Photo>>(
        future: fetchPhotos(http.Client()),
        builder: (context, snapshot) {
          if (snapshot.hasError) print(snapshot.error);

          return snapshot.hasData
              ? PhotosList(photos: snapshot.data)
              : Center(child: CircularProgressIndicator());
        },
      ),
    );
  }
}

Смотрите полный пример: https://flutter.io/cookbook/networking/background-parsing/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...