यह स्नैपशॉट हर दस्तावेज़ को दो बार क्यों मिलता है? स्पंदन

Aug 15 2020

मेरे पास कुछ सरल है:

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

मेरे पास कुल 2 दस्तावेज हैं और मैं उस संग्रह को सुनता हूं जहां उन दस्तावेजों को संग्रहीत किया जाता है। मैं बदले हुए दस्तावेज़ का केवल दस्तावेज चाहता हूँ, लेकिन मुझे यह मिलता है:

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

चार बार क्यों? अगर यह 2 बार था, क्योंकि मुझे एक फॉरेस्ट लूप मिला है।

जवाब

SrilalSachintha Aug 15 2020 at 18:49

हर बार जब राज्य बनाया जा रहा होता है तो आपका लूप क्या होता है। आपको 4 मिल रहे हैं क्योंकि आपके राज्य का पुनर्निर्माण किसी कारण से 2 बार हुआ है।

पूरे कोड को देखे बिना ज्यादा कुछ नहीं कह सकते। लेकिन उपरोक्त कारण सबसे आम मामला है।