флаттер дартс - у меня есть сложная функция, которая заставляет приложение полностью потерять соединение / зависание - PullRequest
0 голосов
/ 02 января 2019

Я написал функцию dart, которая использует 9-уровневые вложенные массивы и объекты, которые будут генерироваться из нескольких файлов json.по сути, это приложение зала в одной функции, и оно не может быть разделено.когда пользователь нажимает кнопку, эта функция вызывается, но иногда, когда пользователь выбирает много информации для обработки, приложение полностью зависает (на физическом устройстве) или теряет соединение в эмуляторе без какого-либо конкретного сообщения об ошибке.

Я думал об «асинхронной функции», но не повезло, или я не сделал это так, как должен (пример прилагается).я также не могу получить бэкэнд для этого процесса.

извините, если мой вопрос неопределенный или не конкретный, при первом обращении сюда я могу предоставить дополнительную информацию, если это необходимо.

FutureBuilder(
future: myFunction(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
        if (snapshot.hasData) {
        return gridViewFromJson(snapshot.data);
        } else if (snapshot.hasError) {
        print(snapshot.error);
        print('error');
        return null;
        }
        return new CircularProgressIndicator();
})
Future myFunction() async {
    return await generateInfo();
}
//////////////
Future generateInfo() async {
/// processing here
  return listOfDate;
}
...