Вам нужно использовать обещания или обещать свой код.
У вас есть эта строка кода:
await firebase.firestore().collection('Users').doc($scope.user.uid).collection($scope.longLanguage).doc('Word_Response').onSnapshot(function(doc) {
Который путь справа, (используйте разрывы строк, чтобы улучшить читаемость) у вас есть .onSnapshot(function(doc) {
, который я точно не знаю, но я собираюсь догадаться, что он не возвращает обещание, поэтому вы не можете его ждать.
Вместо этого вы можете обернуть егообещание как ...
await new Promise((resolve, reject)=> {
firebase.firestore().collection('Users').doc($scope.user.uid).collection($scope.longLanguage).doc('Word_Response').onSnapshot(function(doc) {
...
resolve("value-to-return-to-await").
...
});
Вы можете узнать больше об обещаниях с помощью этого автономного учебного курса: https://github.com/stevekane/promise-it-wont-hurt