Наилучшая практика для вызова двух разных конечных точек для виджета? - PullRequest
0 голосов
/ 15 мая 2018

Что считается лучшим методом для использования, когда для визуализации чего-либо необходимы две разные конечные точки?Прямо сейчас я вкладываю FutureBuilders, но это не кажется идеальным.

Пример:

@override
Widget build(BuildContext context) {
  return new FutureBuilder(
    future: Firestore.instance.collection('games').document(this.documentId).get(),
    builder: (BuildContext gamesContext, AsyncSnapshot gamesSnapshot) {
      return new FutureBuilder(
        future: Firestore.instance.collection('profiles').document(gamesSnapshot.data['authorId']).get(),
        builder: (BuildContext profilesContext, AsyncSnapshot profilesSnapshot) {
          // Code goes here.
        }
      ),
    }
  ),
}

Должен быть более чистый путь, верно?

1 Ответ

0 голосов
/ 15 мая 2018

Вы можете сделать это с помощью одного FutureBuilder:

Future<AsyncSnapshot> getProfiles() async {
  var gamesSnapshot = await Firestore.instance.collection('games').document(this.documentId).get();
  return Firestore.instance.collection('profiles').document(gamesSnapshot.data['authorId']).get()
}

@override
Widget build(BuildContext context) {
  return new FutureBuilder(
    future: getProfiles(),
    builder: (BuildContext profilesContext, AsyncSnapshot profilesSnapshot) {
      // Code goes here.
    }
  ),
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...