Rx Js: сбор заданного количества обратных вызовов от детей - PullRequest
0 голосов
/ 12 марта 2020

У меня есть установленное количество дочерних компонентов, каждый из которых имеет асинхронный init. Когда все дочерние элементы завершены, они должны передать событие родительскому компоненту, что означает, что они завершены.

Как собрать все дочерние события и указать, что они все завершены?

1 Ответ

0 голосов
/ 12 марта 2020

Привет. Вы можете сделать что-то подобное в своем компоненте: (фиктивный код):

      onInit(){

          let allPromiseObj: any = [];
          for (const childs of allChildrens) {          
            allPromiseObj.push(this.asyncProcess(childs));
          }

          //Checking if all resource json are loaded.
          Promise.all(allPromiseObj).then(() => {
           //fire events that all events are compmlete
          });

     }
    asyncProcess(child_data) {
        return new Promise((resolve, reject) => {
         //do something aysnc here 
          resolve();
        });
      }

Ps: Этот код не готов к производству.

...