Как я могу получить данные из облачного пожарного хранилища без использования .then () - PullRequest
0 голосов
/ 10 апреля 2019

Я хочу получить данные без использования обещания, показанного здесь: https://firebase.google.com/docs/firestore/query-data/get-data

В облачной консоли функций я не получаю данные мгновенно.

docRef.get().then(doc => {
        console.log("In Then");
        console.log('Authorized User Data From Function:', doc.data());
        result = doc.data();
        // if (!doc.exists) {
        //   console.log('No such document!');
        // } else {
        //   console.log('Payment Request Data:', doc.data());
        // }
    }).catch(err => {
        console.log("In Catch");
        console.log('Error getting document', err);
        return false;
    });

// I don't want to use this. This is taking time to complete

1 Ответ

0 голосов
/ 10 апреля 2019

Данные загружаются из Cloud Firestore асинхронно. Нет возможности мгновенно получить данные из облачной базы данных. Вам придется привыкнуть работать с таким асинхронным API, если вы хотите использовать большинство современных веб-API.

Самое близкое к тому, что вы не можете получить then(), это использовать async / await в современной среде Node.js. С async / await приведенный выше код будет готов так:

doc = await docRef.get();
console.log('Authorized User Data From Function:', doc.data());
result = doc.data();

Имейте в виду, хотя: поначалу это может показаться более естественным, но под капотом все еще происходит то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...