Если у меня есть несколько функций, которые возвращают Futures.
Существует ли чистый способ последовательного вызова функций, которые возвращают фьючерсы, и продолжают работу в следующем будущем только после успешного завершения текущего фьючерса? А также есть механизм отмены потока?
Есть ли способ сделать это с RxDart?
ValueGetter<Future<int>> getter1 = () => Future.value(1);
ValueGetter<Future<int>> getter2 = () => Future.delayed(Duration(seconds: 2)).then((_) => Future.value(2));
ValueGetter<Future<int>> getter3 = () => Future.delayed(Duration(seconds: 3)).then((_) => Future.value(3));
ValueGetter<Future<int>> getter4 = () => Future.delayed(Duration(seconds: 1)).then((_) => Future.value(4));
List<ValueGetter<Future<int>>> futureInts = [getter1, getter2, getter3, getter4];
for (int i = 0; i < futureInts.length; i++) {
int anInteger = await futureInts[i]();
print(anInteger);
}
//prints
// 1
// 2
// 3
// 4