startStatusPolling method

Future<void> startStatusPolling({
  1. required BuildContext context,
  2. required String token,
})

Implementation

Future<void> startStatusPolling(
    {required BuildContext context, required String token}) async {
  const Duration pollInterval = Duration(seconds: 10);
  const Duration totalPollingDuration = Duration(minutes: 3);
  Timer.periodic(pollInterval, (Timer timer) {
    getStatusPayment(token: token);
    totalMilliseconds += pollInterval.inMilliseconds;
    if (totalMilliseconds >= totalPollingDuration.inMilliseconds) {
      timer.cancel();
      isLoader = false;
      onCancelPending?.call(responsePayment!);
      _statusPayment = EnumStatusPayment.pending;
    }
  });
  notifyListeners();
}