Bu anlık görüntü neden her belgeyi iki kez alıyor? Flutter

Aug 15 2020

Basit bir şeyim var:

.snapshots()
  .listen((snapshot) {
      snapshot.documentChanges.forEach((doc) {       // Loop every document
        if (doc.type == DocumentChangeType.modified) { // If doc is modified
          print(doc.document.documentID);
        }
      });
  });

Toplam 2 belgem var ve bu belgelerin saklandığı koleksiyonu dinliyorum. Yalnızca değiştirilenin belge kimliğini istiyorum ama şunu anlıyorum:

I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew
I/flutter ( 2785): bdfDfgsDg4TsdfadvGew

Neden dört kez? 2 kez olsaydı, foreach döngüm olduğu için olsun.

Yanıtlar

SrilalSachintha Aug 15 2020 at 18:49

Muhtemelen olan şey, Devlet her inşa edildiğinde döngünüzün çağrılmasıdır. 4 alıyorsunuz çünkü devletiniz herhangi bir nedenle 2 kez yeniden inşa ediliyor.

tüm kodu görmeden çok şey söyleyemezsiniz. ancak yukarıdaki neden en yaygın durumdur.