Дартланг ждет более одного будущего
Я хочу что-то сделать после выполнения большой будущей функции, бу, я не знаю, как написать код в дротике?
код, подобный этому:
for (var d in data) {
d.loadData().then()
}
// when all loaded
// do something here
но я не хочу ждать их один за другим:
for (var d in data) {
await d.loadData(); // NOT NEED THIS
}
как записать этот код в дротик?
Ответы
Ответ 1
Вы можете использовать Future.wait
для ожидания списка фьючерсов:
import 'dart:async';
Future main() async {
var data = [];
var futures = <Future>[];
for (var d in data) {
futures.add(d.loadData());
}
await Future.wait(futures);
}
Пример DartPad