Как отправить данные в базу данных в реальном времени с помощью цикла - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь отправить данные в базу данных в реальном времени, используя цикл for, так как есть несколько записей.Я запутался в том, как следует обрабатывать несколько обещаний.Пожалуйста, помогите.

     onSubmit() {
for(let i = 0; i < this.userList.length; i++) {

  this.mtcService.getUserCount(this.userList[i].$key).subscribe(
    ((ct) => {
      const Mtcount = ct.length;

      // pushing to realtime db =>
      this.mtcService.createUser(this.userList[i].$key, Mtcount, this.userForm.value)
      .then(() => {
        console.log('Success ' + i);
      }, err => {
        console.log(err);
      })
    }),
    ((err) => {
      console.log(err);
    })
  );


}
}


 getUserCount(id) {
return this.db.list('path1/path2/' + id).snapshotChanges();
}


createUser(path, count, data) {
return this.db.object('path3/path4/' + path + '/' + count).set(data);
}

1 Ответ

0 голосов
/ 16 мая 2019
  const promises = data.map(async (id) => {
    await Axios.post(URL);
  });
  await Promise.all(promises);
...