2016-11-13 19 views
0

Sind Firebase-Datensicherungsmethoden wie childByAutoId und updateChildValues ​​asynchron oder synchron? Es scheint keinen Platz in einem Completion-Handler zu geben, also vermute ich, dass sie synchron sind, aber ich bin mir nicht sicher, da es aus Performance-Gründen ein wenig seltsam erscheint, dass Firebase solche häufig benötigten Methoden synchron macht.Firebase-Datensicherungsmethoden Asynchron oder Synchron

Antwort

0

Wie bei fast allen modernen Web ist die Interaktion mit der Firebase-Datenbank ein asynchroner Vorgang. Aus diesem Grund können die meisten Methoden in der Firebase-Datenbank-API einen Abschlussblock annehmen.

Für Schreiboperationen ist der Block manchmal optional, da es Fälle gibt, in denen Sie keinen Abschlussblock angeben möchten.

Zum Beispiel ist hier die API-Referenz doc für updateChildValues:withCompletionBlock:

updateChildValues:withCompletionBlock:

SWIFT

func updateChildValues(values: [NSObject : AnyObject], withCompletionBlock block: (NSError?, FIRDatabaseReference) -> Void)

Parameter

Werte - Ein Wörterbuch des Schlüssels und

Block ihre neuen Werte zu ändern - Der Block, der ausgelöst wird, nachdem das Update auf der Firebase Datenbank-Server geschrieben wurde

Die childByAutoId Methode ist eine clientseitige Operation; Es muss nicht mit den Firebase-Servern interagieren. Dies ist einer der Gründe, warum es ausgeführt werden kann, wenn der Benutzer nicht mit der Datenbank verbunden ist. Da es nicht mit dem Server interagieren muss, ist es synchron und gibt sofort einen Verweis auf den neuen Speicherort zurück, der garantiert eindeutig ist. Wenn Sie mehr über die Schlüssel erfahren möchten, die von childByAutoId erzeugt werden, lesen Sie diesen Blogeintrag The 2^120 Ways to Ensure Unique Identifiers.

Verwandte Themen