javascript – ¿Como manejar la finalizacion de un subscribe?

El problema surge cuando requiero actualizar un objeto traído de la base de datos d Firebase. En la primera parte esta el uso del servicio para consultar un elemento en especifico y en la segunda parte el uso del servicio para actualizar el elemento. Cuando se ejecuta la primera parte el objeto queda indefinido hasta que cargue desde Firebase, sin embargo es requerido el objeto para la segunda parte. ¿Como hago para manejar la finalización del suscribe?

factura.component.ts

Actualizar(){  
var canchaX : Cancha

this.canchaService.getCancha(this.reserva.$key).subscribe(async (canchasSnapshot) =>{
  
  canchaX = await canchasSnapshot.payload.data() as Cancha
  canchaX.$key = "F3q4vOTF7eOPpXttkLId"
  canchaX.reservas.push("DATO ACTUALIZADOx2")
  
  
})
this.canchaService.updateCancha(this.reserva.$key , canchaX!).then(()=>{
  console.log("Actualizado")

})
}

E error esta cuando el newObject se encuentra undefined y se ejecuta el método updateObject

ERROR

ERROR FirebaseError: Function DocumentReference.set() called with invalid data. Data must be an object, but it was: undefined (found in document objects/F3q4vOTF7eOPpXttkLId)