Ce problème devrait être assez simple: je veux pousser l'état de chaque requête dans un tableau appelé currentValues. Malheureusement, le currentValues-tableau reste dépeuplé (la sortie des valeurs de contrôle est 0vs2. Qu'est-ce que je manque ici?Le push de tableau ne fonctionne pas correctement
@Input() public wantedValue: string[];
@Input() public querySensor: string[];
@Input() public slideId: number;
@Output() wantedStateAccievedEvent: EventEmitter<any> = new EventEmitter<any>();
public currentValues: string[] = [];
initItems() {
for (let sensor of this.querySensor) {
console.log("Sensor: " + sensor);
this.itemService.getMockItemState(sensor).subscribe(
status => { this.currentValues.push((status)); });
}
this.checkValues();
}
checkValues(): void {
console.log("Called checkValues" + this.currentValues.length + "vs " + this.wantedValue.length);
let i = 0;
let allSatisfied: boolean;
for (let value of this.currentValues) {
console.log("Wert: " + value + '\n');
if (this.wantedValue[i] !== value) {
allSatisfied = false;
}
i++;
}
if (allSatisfied === true) {
this.wantedStateAccievedEvent.emit({slideId: this.slideId, stateAccieved: true });
}
double possible de [angulaire 2 - Renvoyer les données directement à partir d'un Observable] (https://stackoverflow.com/questions/37867020/angular-2-return-data-directly-from-an-observable) – jonrsharpe
Avez-vous vérifié quelle est la valeur de 'status'? Quelle est la sortie si vous ajoutez ceci: 'console.log (status ');'? – mok
Salut, le statut a toujours une valeur - le tout fonctionnait sans utiliser de tableaux, après avoir changé wantedVaule et querySensor en tableaux le problème est apparu – jibjapda