2016-11-13 13 views
0

firebaseはchildByAutoIdやupdateChildValuesなどのデータメソッドを非同期または同期で保存しますか?完了ハンドラを渡す場所がないようですので、同期していると思いますが、Firebaseがこのような一般的なメソッドを同期させるのはちょっと変わっているようです(確かに分かりません)。Firebase非同期または同期のデータメソッドの保存

答えて

0

現代のほとんどのWebと同様、Firebaseデータベースとのやりとりは非同期操作です。そのため、Firebase Database APIのほとんどのメソッドが完了ブロックを取ることができます。

書き込み操作の場合、完了ブロックを指定したくない場合があるため、ブロックはオプションの場合もあります。

例えば

は、ここにupdateChildValues:withCompletionBlockのAPIリファレンスドキュメントです:

updateChildValues:withCompletionBlock:

SWIFT

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

パラメータ

- 変更するには、キーの辞書とその新しい値

ブロック - アップデートがchildByAutoId方法があるFirebaseデータベース・サーバ

に書き込まれた後にトリガされたブロッククライアント側の操作。 Firebaseサーバと対話する必要はありません。これは、ユーザがデータベースに接続していないときに実行できる理由の1つです。サーバーと対話する必要がないため、同期しており、新しい場所への参照がただちに返されます。これは一意であることが保証されています。 childByAutoIdによって生成されたキーの詳細については、The 2^120 Ways to Ensure Unique Identifiersを参照してください。

関連する問題