Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 2 Firebase订阅和切换映射多个元素_Angular_Firebase_Observable_Switchmap - Fatal编程技术网

Angular 2 Firebase订阅和切换映射多个元素

Angular 2 Firebase订阅和切换映射多个元素,angular,firebase,observable,switchmap,Angular,Firebase,Observable,Switchmap,我发现表“A”中有一个数组,其中包含表“B”的0到N键 我的意图是使用swtich映射来获取表“B”的所有记录 在获得1对1键之前,我已经实现了这个简单的函数: ` ` 但是,当“Ordine.idscoula”是一个键数组而不是单个元素时,如何实现这一点呢 // Combine Object let TableATableB = TableB // Per ogni Ordine eseguo una Switch

我发现表“A”中有一个数组,其中包含表“B”的0到N键 我的意图是使用swtich映射来获取表“B”的所有记录

在获得1对1键之前,我已经实现了这个简单的函数:

`

`

但是,当“Ordine.idscoula”是一个键数组而不是单个元素时,如何实现这一点呢

           // Combine Object
           let TableATableB = TableB

                 // Per ogni Ordine eseguo una SwitchMap
                 .switchMap(Ordini => {

                   // Puntando all'evento tramite la chiave :
                   const Scuola = Ordini.map( Ordine => this.db.object(`users/${Ordine.IDScuola}`) );

                   // Se l'oggetto esiste combino i dati e li restituisco

                   return Scuola.length === 0 ?
                     Observable.of(Ordini) :
                     Observable.combineLatest(...Scuola, (...scuole) => {
                       Ordini.forEach((Ordini, index) => {
                         Ordini.DatiScuola = scuole[index] ;
                     });
                     return Ordini;
                   }
                 );
                 });