Я создаю экран в приложении, используя существующий класс модели, который я не могу изменить.Модель имеет метод с именем refreshList()
, который извлекает некоторые данные из API, обрабатывает их и, наконец, обновляет элемент List
в модели с извлеченными данными.
Я хочу знать состояниесписок - т.е. он неинициализирован, извлекается или уже извлекается - так что я могу соответствующим образом обновить пользовательский интерфейс.
Проблема в том, что refreshList()
не является async
, но использует метод async
для внутреннего использования.,Кроме того, внутренний метод не возвращает Future
.
void refreshList(){
if( someCondition ){
_doRefreshList();
}
}
void _doRefreshList() async{
// ... do stuff
http.Response response = await http.get(url);
// ... do some more stuff
}
Я хотел бы сделать что-то вроде
setState((){ _isLoading = true; });
await model.refreshList();
setState((){ _isLoading = false; });
, но, к сожалению, я не могу изменить методы вмодель для возврата Future
.
Есть ли способ достичь этого, не изменяя refreshList()
на async
и возвращая Future
, и не изменяя _doRefreshList()
для возврата Future
?