web-dev-qa-db-fra.com

forkJoin est obsolète: resultSelector est obsolète, dirigez-le vers la carte

Je travaille sur un projet angulaire 6.

Exécuter ng lint donne l'avertissement suivant: 

"forkJoin est obsolète: resultSelector est obsolète, dirigez-le vers la carte"

 forkJoin(...observables).subscribe(

Une idée? Impossible de trouver aucune information sur cette dépréciation.

Tous les commentaires sont grandement appréciés. (vote négatif ne aide pas beaucoup)

Je viens de générer une nouvelle application angulaire "ng new forkApp" avec Angular CLI: 6.1.5

la source:

import { Component, OnInit } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { forkJoin } from 'rxjs';

@Component({
  selector: 'app-root',
  templateUrl: './app.component.html',
  styleUrls: ['./app.component.css']
})
export class AppComponent implements OnInit {
  title = 'forkApp';

  constructor(private http: HttpClient) {}

  ngOnInit() {
    console.log('ngOnInit...');

    const obs = [];
    for (let i = 1; i < 4; i++) {

      const ob = this.http.get('https://swapi.co/api/people/' + i);
      obs.Push(ob);

    }

    forkJoin(...obs)
      .subscribe(
        datas => {
          console.log('received data', datas);
        }
      );

  }
}

section "dépendances" du fichier package.json:

  "dependencies": {
    "@angular/animations": "^6.1.0",
    "@angular/common": "^6.1.0",
    "@angular/compiler": "^6.1.0",
    "@angular/core": "^6.1.0",
    "@angular/forms": "^6.1.0",
    "@angular/http": "^6.1.0",
    "@angular/platform-browser": "^6.1.0",
    "@angular/platform-browser-dynamic": "^6.1.0",
    "@angular/router": "^6.1.0",
    "core-js": "^2.5.4",
    "rxjs": "^6.0.0",
    "zone.js": "~0.8.26"
  },

Une fois que les trois opérations sont terminées, toutes les données sont dans le tableau "datas" . Le problème est que, une fois que j'ai lancé: ng lint, j'ai obtenu ceci:

C:\forkApp> ng charpie

AVERTISSEMENT: C: /forkApp/src/app/app.component.ts [26, 5]: forkJoin est obsolète: resultSelector est obsolète, dirigez-le vers la carte

Faites-moi savoir si vous avez besoin de n'importe quelle autre information.

6
robert

forkJoin devrait fonctionner. Quelle version rxjs utilisez-vous? La dernière version devrait faire ceci:

import { of, combineLatest, forkJoin } from 'rxjs';
import { map, mergeAll } from 'rxjs/operators';

Voici le code de travail:

import { of, forkJoin } from 'rxjs';

const observables = [of('hi'), of('im an'), of('observable')];

const joint = forkJoin(observables);

joint.subscribe(
  s => console.log(s) 
)

Devrait-il produire:

["salut", "im an", "observable"]

J'ai essayé de reproduire ceci mais je ne vois aucun avertissement: 

https://stackblitz.com/edit/angular-v4nq3h?file=src%2Fapp%2Fapp.component.ts

1
mchl18