ios - configurar - Función asincrónica de Firebase, qué hay en la cola de fondo y qué no
firebase swift 4 (1)
Digamos que tengo esto
// a bunch of code...
FIRDatabase.database.reference.child("somechild").observeSingleEventOfType(.Value, withBlock{(snapshot) in
//some code inside of the completion handler})
No leas demasiado en el fragmento de código para pedir más código, solo necesito una respuesta breve. Donde dice, "un montón de código", suponga que es realmente algún código que está en la cola MAIN. Ahora, cuando escribo el controlador de finalización observeSingleEvent Firebase, mi análisis es el siguiente.
observeSingleEvent busca la instantánea en una cola de fondo para no bloquear la IU que está en la cola principal.
Una vez que recupera la instantánea, el bloque de código después de "in" vuelve a la cola MAIN, por lo que está bien poner allí cualquier código relacionado con la interfaz de usuario.
Toda mi aplicación se basa en este razonamiento, así que si soy incorrecta, por favor díganme qué está pasando realmente.
De hecho, así es como funciona el cliente de la base de datos de Firebase: todas las E / S de red y de disco pasan por el hilo principal, y luego se invocan las devoluciones / bloques en el hilo principal.