Загрузка данных из облака занимает много времени.Чтобы предотвратить блокирование вашего приложения во время ожидания этих данных, Firestore (и большинство современных веб-API) загружает данные асинхронно и затем вызывает функцию, которую вы передаете в then()
, когда данные доступны.
Это означает, чтокод, которому нужны данные из Firestore, должен быть внутри then()
обратного вызова, который вызывается, когда данные доступны.Итак:
function operation(callback) {
dialogflowAgentDoc.doc(format).get()
.then(doc => {
console.log(doc.data().Url);
Url = doc.data().Url;
callback(Url);
})
.catch((err) => {
console.log('Error getting documents', err);
});
}