J'ai le service suivant:Tapuscrit Cartographie des valeurs dans le modèle type
import { Component } from '@angular/core';
import { ApiService } from './shared/api.service';
import {PowerPlant} from './shared/models/powerplant.model';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
powerPlants: PowerPlant[];
constructor(private apiService: ApiService) {
}
allPowerPlants(onlyActive: boolean = false, page: number = 1): void {
const path = `$/powerPlants?onlyActive${onlyActive}&page${page}`;
this.apiService.get(path).map() // TODO: parse and set the JSON to my model
}
}
Dans la méthode get du apiService, c'est ce que je fais:
get(path: string, params: URLSearchParams = new URLSearchParams()): Observable<any> {
return this.http.get(`${environment.api_url}${path}`, { headers: this.setHeaders(), search: params })
.catch(this.formatErrors)
.map((res: Response) => res.json());
}
Je voudrais donc analyser ce Json array, s'il y a des erreurs dans l'un des éléments du tableau, je voudrais l'ignorer et remplir le tableau powerPlant pour les autres qui sont valides! Des pointeurs?
EDIT: J'ai essayé la suggestion comme mentionné par le poste ci-dessous et je reçois une erreur comme le montre la capture d'écran:
Pourquoi est-ce? Est-ce que se plaindre que PowerPlant est une interface et j'ai besoin de fournir des valeurs pour les propriétés lorsque je crée une nouvelle instance de celui-ci?
Alors, comment pouvez-vous détecter s'il y a une erreur dans l'un des éléments du tableau? –
Je n'en ai aucune idée! Pourriez-vous s'il vous plaît m'aider avec quelques conseils sur la façon dont je pourrais faire cela? – sparkr
Je suis un peu confus ici. Ainsi, une partie de l'élément de tableau peut avoir une erreur, mais vous n'êtes pas sûr de ce qui peut être considéré comme une erreur? Comme je ne suis pas un utilisateur angulaire, je vous suggère d'utiliser un callback dans la méthode 'map' de' this.apiService.get (chemin) .map() ', et d'assigner la valeur passée à la fonction callback à' powerPlants '; vous pouvez également utiliser 'console.log' dans la fonction de rappel pour vérifier si tout est en ordre ou non. –