У меня есть удаленная асинхронная функция firebase «checkSubscription», которая возвращает либо «true», если у пользователя есть действительная подписка, либо «N», где N означает количество оставшихся кредитов до того, как у пользователя закончится.
Для отслеживания завершения у меня в классе есть два следующих фьючерса:
Future<bool> hasSubscription;
Future<int> remaining;
Предположим, что типы данных для них нельзя изменить.Удаленная функция вызывается так:
CloudFunctions.instance
.call(functionName: 'checkSubscription');
Эта функция возвращает Future<dynamic>
с результатом.
Я борюсь с логикой Future, необходимой для назначения моих двух полей с помощьюнеобходимые типы.Вот что я придумал
Future<void> checkIfUserHasSubscription() async {
await Future < dynamic > remainingS = CloudFunctions.instance
.call(functionName: 'isValid');
if (remaining == "true")
hasSubscription = true;
else {
hasSubscription = false;
remaining = int.parse(remaining);
}
}
Очевидно, это не сработает, потому что я назначаю bool вместо Future
Любой совет?