Запрос данных Firebase - поиск кода выполняется после обновления состояния - PullRequest
0 голосов
/ 08 декабря 2018

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

showTradeReqsForUsersBooks({commit}) {
    // get existing trades for books owned by this User (inbox)
  const userId = this.state.userId;
  var tradeRef = firebase.database().ref('trades');
  let tradeArray = [];
  tradeRef.once('value')
    .then(function(snapshot) {
      snapshot.forEach(function(childSnapshot) {
        let trade = childSnapshot.val();

        // get the username
        var ref = firebase.database().ref("users");

        ref.orderByChild("uid").equalTo(trade.requestorsUserId).once("value", function(snap) {
          console.log(snap.val());
          trade.requestor_username = snap.val().username;
          console.log('Username set:', trade.requestor_username);
        });

        if (trade.bookOwner == userId)
          tradeArray.push(trade)

      })

      console.log('Executes before cmd firebase.database().ref("users")');
      commit('showRequestsForMyBooks', tradeArray)                 

  }).then(() => {
    console.log('Executes before cmd firebase.database().ref("users")');
  })

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