Облачные функции - сохраняйте данные с помощью цикла - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь установить объект в базе данных Firebase в реальном времени, зацикливая список. Например, у меня есть список объектов. Я хочу запустить этот список и каждый l oop сохранить в базе данных в режиме реального времени объект. Это код:

  if(feedVideosList.length > 0){
       feedVideosList.forEach(video =>{
         return admin.database().ref('/userFeed/${userUID}/').set(video);
     }).catch(error =>{
      console.log("Error user feed:  ",error);
    });
  }else{
    console.log("Problem with the videos list:  ",error);
  }

Я почти уверен, что этот код неверен, и я не должен его писать. Как я уже сказал, я пытаюсь запустить список и каждый раз сохранять данные на узле spasifi c. Вопрос в том, как мне это сделать, как правильно это сделать?

1 Ответ

2 голосов
/ 24 апреля 2020

Если вы запускаете этот код в облачных функциях, я думаю, вы хотите, чтобы облачная функция завершила работу после завершения всех операций записи в базу данных. Вы можете использовать Promise.all() для этого:

  if(feedVideosList.length > 0){
    let promises = []
     feedVideosList.forEach(video =>{
       promises.push(admin.database().ref('/userFeed/${userUID}/').set(video));
     })
     return Promise.all(promises).catch(error =>{
      console.log("Error user feed:  ",error);
    });
  }else{
    console.log("Problem with the videos list:  ",error);
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...