Как ускорить операцию выборки GSheet? - PullRequest
1 голос
/ 01 августа 2020

Я пытаюсь загрузить строку из своей таблицы Google в приложение Flutter, в котором содержится около 100 000 ячеек. Моя операция занимает около 10 секунд, чтобы получить строку с помощью v4 api, может ли кто-нибудь сказать мне, есть ли способ ускорить операцию чтения?

Вот мой код:

 FutureBuilder(
  future: UserManager().getById('12949233'),
    builder: (context, AsyncSnapshot<dynamic> snapshot) {
   if (snapshot.connectionState == ConnectionState.done) {
    if (snapshot.data != null) {
       return tasks(snapshot.data);
      } else {
    return CircularProgressIndicator();
       }
        } else {
      return CircularProgressIndicator();
       }
       })

Вот мой Future,

//This returns a Map that contains my entire row by the specific id
    Future<Data> getById(String id) async {
        await init();
        final map = await _dataSheet.values.map.rowByKey(
          id,
          fromColumn: 1,
        );
        return map == null ? null : Data.fromGsheets(map);
      }

1 Ответ

0 голосов
/ 01 августа 2020

Обратите внимание: Уловка здесь в том, что если вы получаете свой результат с задержкой в ​​вашем Debug Mode, то я должен вам сказать, что приложение будет работать быстрее в вашем Release Mode. Просто проверьте приложение с помощью приведенной ниже команды и посмотрите, сохраняется ли результат или есть ли какие-то изменения

flutter run --release
...