Я использую Flutter для загрузки 3 разных наборов данных с сервера, а затем что-то делаю со всеми 3 наборами. Я мог бы сделать это:
List<Foo> foos = await downloader.getFoos();
List<Bar> bars = await downloader.getBars();
List<FooBars> foobars = await downloader.getFooBars();
processData(foos, bars, foobars);
Но я бы предпочел загружать все 3 набора данных асинхронно параллельно . Я видел, что у Дарт есть этот метод Future.wait :
Future<List<T>> wait <T>(
Iterable<Future<T>> futures, {
bool eagerError: false,
void cleanUp(
T successValue
)
})
Однако похоже, что он будет возвращать только значения того же типа (T). У меня есть 3 разных типа, так что я не понимаю, как я могу использовать это и вернуть свои 3 набора данных.
Какой лучший альтернативный способ добиться этого?
Спасибо!