ждать, когда функция будущего вернет значение, пока другое будущее не будет разрешено во флаттере - PullRequest
0 голосов
/ 10 июля 2020

Я вызываю множественное будущее Под будущим вызовом. Я хочу вернуть значение из функции sendAndSyncOrder () после того, как все будущие функции под ней будут разрешены. Я хочу вызвать эту функцию при нажатии функции и хочу получить значение bool после разрешения всех будущих функций под ним. Вот мой код:

`Future<bool> sendAndSyncOrder() async {
    bool returnValue;
    databaseHelper.fetchToSyncOrder().then(
      (value) async {
        print('resolved');
        if (!value.length.isNaN) {
          unSyncOrd = value.length.toString();
          value.forEach(
            (element) async {
              await sendOrderToServer(
                element.products,
                element.amount,
                element.dateTime,
                element.id,
                element.cusId,
              ).then(
                (val) {
                  print(val);
                  print('from sync');
                  if (!val) {
                    returnValue = val;
                  }
                  if (val) {
                    databaseHelper.updateOrder(
                      OrderItem(
                        id: element.id,
                        cusId: element.cusId,
                        amount: element.amount,
                        products: element.products,
                        dateTime: element.dateTime,
                        syncStatus: val,
                      ),
                    );
                    notifyListeners();
                  }
                },
              );
            },
          );
        }
      },
    );
    print('from sendAndSyncOrder');
    return returnValue;
  }`
...