¿Actualizar el valor de la variable desde la consulta de Firebase?

Actualmente estoy tratando de extraer el valor de un elemento de una base de fuego usandoonce, y use este valor para llenar la varitemsList. Sin embargo, aunque itemsList se rellena correctamente dentro deonce llamada, se registra como indefinido fuera de la llamada. Creo que esto puede tener algo que ver con la naturaleza asincrónica de Firebase, pero no estoy seguro de cómo solucionar este problema. ¿Alguna sugerencia?

submitAnswer: function() {
    var userRef = usersRef.child(key);

    //get items_list for user
    var itemsList;
    userRef.once('value', (snap) => {
        itemsList = snap.val().items_list;
        console.log('items list populated here' + itemsList);
    });

    console.log("items list not populated here" + itemsList);
},

Respuestas a la pregunta(1)

Su respuesta a la pregunta