क्या निष्पादन समय के संदर्भ में उन 2 में कोई अंतर है?

collectionReference.add(testObject)
 .addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
    @Override
    public void onSuccess(DocumentReference documentReference) {

     collectionReference.add(testObject2);
    }
  })

और

collectionReference.add(testObject);

collectionReference.add(testObject2);

पहले मामले में पहले एक के समाप्त होने के बाद दूसरा जोड़ निष्पादित किया जाएगा, क्या दूसरे मामले में भी ऐसा ही हो रहा है? क्या दूसरा जोड़ पूछताछ कर रहा है और पहले खत्म होने की प्रतीक्षा कर रहा है, या वे समानांतर में चल रहे हैं?

0
Wiktor 22 पद 2018, 23:47

1 उत्तर

सबसे बढ़िया उत्तर

हां, इन दोनों के निष्पादन समय में अंतर जरूर होगा।

पहले मामले में आप सर्वर पर दूसरे लेखन को भेजने से पहले, सर्वर पर पहले लेखन के पूरा होने की प्रतीक्षा कर रहे हैं। एक आरेख में:

 Client                            Server
   |                                  |
   |---- Send document to write ----->|
   |                                  |
   |                                  |
   |<----- Response from server ------|
   |---- Send document to write ----->|
   |                                  |
   |                                  |
   |<----- Response from server ------|
   |                                  |

दूसरे मामले में, पहला लेखन भेजे जाने के ठीक बाद दूसरा लेखन सर्वर पर भेजा जाता है।

 Client                            Server
   |                                  |
   |---- Send document to write ----->|
   |---- Send document to write ----->|
   |                                  |
   |                                  |
   |                                  |
   |<----- Response from server ------|
   |<----- Response from server ------|
   |                                  |

इन दोनों के बीच प्रदर्शन में अंतर आपके और सर्वर के बीच कनेक्शन की विलंबता है।

ध्यान दें कि यह केवल सैद्धांतिक अंतर है, और संभवतः प्रदर्शन को प्रभावित करने वाले कई और कारक हैं।

1
Frank van Puffelen 22 पद 2018, 23:57