Получение обещания в ожидании облачных функций Firebase - PullRequest
0 голосов
/ 22 февраля 2019

Я пытаюсь получить ценовой узел из базы данных firebase внутри облачных функций, но когда я регистрирую функцию getPrice(), она выдает мне Обещание ожидает предупреждения.Что-то мне здесь не хватает?

get price Promise {
  <pending>,
  domain: 
   Domain {
     domain: null,
     _events: { error: [Function] },
     _eventsCount: 1,
     _maxListeners: undefined,
     members: [] } }

Вот фрагмент кода

const price = getPrice();
console.log(getPrice());

function getPrice() {
    return db
        .ref(`/locations/${id}/price`)
        .once('value')
        .then(snapshot => {
            console.log('snapshot: ', snapshot.val());
            return snapshot.val();
        });
}

edit Получение этого сообщения журнала при вызове .then () для обещания

console.log(getPrice().then(data => data))
get price Promise {
  <pending>,
  domain: 
   Domain {
     domain: null,
     _events: { error: [Function] },
     _eventsCount: 1,
     _maxListeners: undefined,
     members: [] } }

1 Ответ

0 голосов
/ 22 февраля 2019

Использование async / await решило проблему Видео об использовании async await в облачных функциях

решение:

console.log('getDataFromNode', await getDataFromNode());

async function getDataFromNode() {
    const node = await db.ref(`/locations/${parkingId}/price
    const data = await node.once('value');
    return data.val();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...