У меня есть список фьючерсов, ответы на которые я хочу получить, и каждое будущее должно потерпеть неудачу через 10 секунд:
List<Future<http.Response>> futuresList = new List<Future<http.Response>>();
for (final blog in blogsList) {
futuresList.add(http.get(blog.rssURL).timeout(const Duration(seconds: 10)));
}
try {
List<http.Response> responses = await Future.wait(futuresList);
} catch (e) {
print("Futures list error: " + e.toString());
}
Моя проблема заключается в естественном поведении функции wait()
- даже когда только одно из фьючерсов выбрасывает исключение, все остальные теряются, и код попадает в блок catch
...
Есть ли способ получить все ответы и определить, какие один был успешным, что не было?