получить информацию о пользователе с помощью Firebase Auth, где условие является несколько телефонных номеров? - PullRequest
2 голосов
/ 18 января 2020

Я хочу получить пользователей, используя phoneNumber, где phoneNumber кратен. Я бы сказал, массив phoneNumber. Я хочу получить ответ пользователей, используя это. Я знаю только, как получить по одному номеру. Я создал этот код, и когда я передаю отдельные номера, он работает, но я не знаю, как выполнить для массива phonNumbers.

const getAuth = async phoneNumber => {
  return auth.getUserByPhoneNumber(phoneNumber).catch(() => {
    return ;
  });
};

const userRecords = await Promise.all([getAuth('+915555555555'), getAuth('+916666445555')]);
console.log(userRecords)

и я иметь массив phoneNumbers, который

['+915555555555','+916666445555','+917778886655',+91555598668']

Ответы [ 2 ]

1 голос
/ 18 января 2020
const getAuth = async phoneNumber => {
  return auth.getUserByPhoneNumber(phoneNumber).catch(() => {
    return ;
  });
};

const userRecords = await Promise.all(
    phoneNumber.map(phNo => {
      return getAuth(phNo);
    }),
  );
console.log(userRecords)

здесь phoneNumber - массив, в котором хранится число.

1 голос
/ 18 января 2020

Вы очень близки. Вы можете использовать .map для повторения и возврата массива обещаний на Promise.all. что-то вроде этого

const getAuth = async phoneNumber => {
  return auth.getUserByPhoneNumber(phoneNumber).catch(() => {
    return ;
  });
};

async function getAll() {
   const userRecords = await Promise.all(['+915555555555','+916666445555','+917778886655','+91555598668'].map(phNo => getAuth(phNo)));
   return userRecords;
}

Обтекание asyn c предназначено только для его выполнения. Вам это не нужно, если вы помещаете этот код в функцию asyn c.

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