0
votes

RXJS - Utilisez l'opérateur à condition

Je reçois des données d'une API et je veux le chercher à l'aide de RxJS .pipe. Ce que je veux faire, c'est d'appliquer un filtre si une variable est vraie.
Voici mon code de travail: (le serveur userservice renvoie la réponse de l'API)

TS xxx

veux que je veux maintenant s'appliquer Le filtre si une variable que j'ai définie ci-dessus est vraie. J'ai essayé des choses avec iif () mais sur ma compréhension actuelle IIF () ne peut pas être utilisée pour appliquer différents opérateurs.

Salutations!

(fort)! xxx

Utilisez la variable dans l'opérateur de la carte. Merci @fflix


4 commentaires

Vous pouvez simplement ajouter l'état de variable sur la carte, comme celui-ci: Carte (réponse => Quelqueevariable? Response.Filter (option => option.email! = Null): réponse)


Résolu! J'ai essayé cela avant mais j'ai placé la variable dans l'opérateur de filtre ... Merci!


@Kastenbrot Veuillez accepter la bonne réponse au lieu de modifier votre question, voir Stackoverflow.com/help/accepted-answer


Il y avait seulement un commentaire avant, existe-t-il un moyen d'accepter un commentaire comme réponse?


3 Réponses :


0
votes

Utiliser filtre comme ci-dessous: xxx


0 commentaires

1
votes

Vous pouvez simplement ajouter l'état de variable sur la carte, comme celui-ci:

this.filteredOptions =  this.userService
  .getUserSuggestions(this.displayName, 30)
  .pipe(
    map(response => someVariable ? response.filter(option => option.eMail != null) : response),
    debounceTime(400),
    distinctUntilChanged()
  );


0 commentaires

1
votes

Utilisez simplement le filtre Opérateur:

https://www.learnrxjs.io/learn-rxjs/opérateurs / Filtrage / Filtre .

.pipe (filtre (conditionFN))


0 commentaires