custome Rohr mit HTTP-Aufruf in Winkel 6 nicht zurückzukehrWert

stimmen
0

Ich habe ein Maß Rohr in Winkel 6 mit ID als Parameter nimmt und kehren sie Namen nach Server (HTTP - Aufruf) Aufruf

Mein Rohr Code folgt

import { Pipe, PipeTransform } from '@angular/core';
import { AjaxService } from '@shared/services/ajax.service';
import { activities } from '@shared/constants/activity.constant';
@Pipe({
name: 'getName'
})
export class GetNamePipe implements PipeTransform {
constructor( private serviceManager: AjaxService,){

}
transform(value: any): any {
 if(!value )
return value;
 // return 'a';  // this work perfectly

this.serviceManager.getByParams(activities.getEducatorAndSupervisorName, 
{id:value}).subscribe(
    response => {
      if(response.status==1){
      console.log(response.data)

       return response.data.name;  // i want to return this.

      }
      else
      {

      }
    },
    error => {
        console.log(error)

    }
   )
 }

}

und deren Verwendung auf diese Weise

 <td>{{it.createdByUser.id | getName }}</td>
Veröffentlicht am 19/12/2018 um 14:12
quelle vom benutzer
In anderen Sprachen...                            


1 antworten

stimmen
0

Wenn die Funktion verwenden Sie Ihren Wert zu erhalten asynchron ist, müssen Sie ein verwenden AsyncPipe.

https://angular.io/guide/pipes#the-impure-asyncpipe

Gerade jetzt, Sie sind wieder response.data.namenur für die Funktion, die die Antwort abonniert. Das ist nicht das gleiche wie für die tatsächliche Rückkehr transform()Funktion. Auf dem Coderahmen , dass Angular die Rohr Funktion ausgeführt wird , kann es nicht das Ergebnis der asynchronen Anforderung erhalten - dass die Zeit nehmen , geht zurück zu kommen.

Beantwortet am 19/12/2018 um 14:15
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more