Внутренняя функция Firebase возвращает 500 - PullRequest
0 голосов
/ 30 мая 2019

Эта функция возвращает ВНУТРЕННЮЮ ошибку, которая, по-видимому, связана с вызовом функции basicDataFromAllData.

exports.usersBasicInfoFromIDs = functions.https.onCall((data, context) => {

  const basicDataFromAllData = function(allData) {
    console.log(allData)
    const basicData = {}
    const uid = allData.id
    basicData[uid].username = allData.username
    basicData[uid].first = allData.first
    basicData[uid].last = allData.last
    return { basicData }
  }

  const uids = data.ids;

  if (!(uids.length > 0)) {
    throw new functions.https.HttpsError('invalid-argument', 'Need some UIDs');
  }

  const fetchUserObjects = function(uids) {
    let promises = []
    uids.forEach((uid) => {
      const promise = admin.database().ref(`/users/${uid}`).once('value')
      .then((dataSnapshot) => {
        return basicDataFromAllData(dataSnapshot.val())
      })
      .catch((error) => {
        throw new functions.https.HttpsError('Error: ', error.message, error);
      });
      promises.push(promise)
    })
    return Promise.all(promises);
  }

  return fetchUserObjects(uids)

});

Это продолжение до: Несколько асинхронных запросов Firebase, возвращаемых через Обещания .

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