PlatformException (Ошибка при выполнении get, Не удалось получить документ, поскольку клиент находится в автономном режиме., Null) - PullRequest
0 голосов
/ 30 апреля 2020

Я должен сделать несколько вызовов API: я получаю ошибку PlatformException(Error performing get, Failed to get document because the client is offline., null) Я вызываю метод в didChangeDependencies, потому что я не могу использовать провайдера в initState. Я не уверен, что делать с ошибкой. Отладчик указывает на getLegislatures(). Мне интересно, правильно ли я использую async / await, потому что я подозреваю, что есть проблема с чтением данных (getLegislatures) после записи данных setElcectorate()? Вот метод, который выполняет вызовы:

Future<List<LegTile>> getPlaces(BuildContext context) async {
      final database = Provider.of<Database>(context, listen: false);
      await database.setElcectorate(suburb, postcode);    //Call to server and write to firestore...all ok
      final result = await database.getElectorates(); // a get from Firestore..returns the data ok.
      final legislatures = await database.getLegislatures(result);       //problem here!!
      return legislatures;
    }

, а для полноты getLegislatures() метод

 Future<List<LegTile>> getLegislatures(List<Electorate> elecs) async {
        List<LegTile> legs = [];
        for (var elec in elecs) {
          final snap1 = await elec.c1District.get();
          print(snap1.data);
          final snap2 = await elec.c2District.get();
          print(snap2.data);
          final snap3 = await elec.legislature.get();
          print(snap3.data);
          final district1 = District.fromJson(snap1.data);
          final district2 = District.fromJson(snap2.data);
          final legislature = Legislature.fromJson(snap3.data);
          final LegTile legTile = LegTile(
              district1: district1, district2: district2, legislature: legislature);

          legs.add(legTile);
        }
        return legs;
      }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...