首页 > 解决方案 > 为什么我的设备离线时,我的 Flutter 应用程序会在 Firestore 上保存两次?

问题描述

当我的设备离线并尝试插入 Firestore 时,它​​会执行两次。

这是我将文档添加到 Firestore 的代码。

标签: firebasedartfluttergoogle-cloud-firestore

解决方案


Firestore不支持事务也不支持await离线模式的关键字,只需删除 runTransaction 并等待。

  Future<void> saveHouseHolder() async {
      CollectionReference reference = Firestore.instance
            .collection('municipality')
            .document(global.mundocid)
            .collection('Barangay')
            .document(global.brgydocid)
            .collection('HouseHolderList');
         reference.add({
          'Name': name,
          'Gender': gender,
          'Age': age,
          'Spouse': spouse,
          'FullAddress': fullAdd,
          // 'Location':new GeoPoint(latitude, longitude),
          'ContactNumber': contactNo,
          'Origin': origin,
          'Language': language
        });

      Navigator.of(context).push(MaterialPageRoute(builder: (context) => HouseHolder()));

        }

恢复连接后,它将自动同步。


推荐阅读