Zelfstudie: Voorwaardelijke functies inschakelen met een aangepast filter in een JavaScript-toepassing
Functievlagmen kunnen functiefilters gebruiken om functies voorwaardelijk in te schakelen. Zie Zelfstudie: Voorwaardelijke functies inschakelen met functiefilters voor meer informatie over functiefilters.
Het voorbeeld dat in deze zelfstudie wordt gebruikt, is gebaseerd op de Node.js toepassing die is geïntroduceerd in de quickstart voor functiebeheer. Voordat u verdergaat, voltooit u de quickstart om een Node.js-toepassing te maken met een bètafunctievlag . Zodra dit is voltooid, moet u een aangepast functiefilter toevoegen aan de vlag Bèta-functie in uw App Configuration-archief.
In deze zelfstudie leert u hoe u een aangepast functiefilter implementeert en het functiefilter gebruikt om functies voorwaardelijk in te schakelen. We gebruiken de Node.js console-app als voorbeeld, maar u kunt ook het aangepaste functiefilter gebruiken in andere JavaScript-toepassingen.
Vereisten
- Maak een console-app met een functievlag.
- Een aangepast functiefilter toevoegen aan de functievlag
Een aangepast functiefilter implementeren
U hebt een aangepast functiefilter toegevoegd met de naam Random met een parameter Percentage voor de bèta-functievlag in de vereisten. Vervolgens implementeert u het functiefilter om de vlag Bèta-functie in te schakelen op basis van de kans die is gedefinieerd door de parameter Percentage .
Open het bestand app.js en voeg de
RandomFilter
volgende code toe.class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }
U hebt een
RandomFilter
klasse toegevoegd met één methode met de naamevaluate
, die wordt aangeroepen wanneer een functievlag wordt geëvalueerd. Metevaluate
een functiefilter wordt een functievlag ingeschakeld door terug te kerentrue
.U stelt de naam in op
RandomFilter
Willekeurig, die overeenkomt met de filternaam die u hebt ingesteld in de bètafunctievlag in Azure-app Configuratie.Registreer de bij het
RandomFilter
maken van deFeatureManager
.const fm = new FeatureManager(ffProvider, {customFilters: [new RandomFilter()]});
Functiefilter in actie
Wanneer u de toepassing uitvoert, wordt de bètafunctievlag van Azure-app Configuration geladen door de configuratieprovider. Het resultaat van de isEnabled("Beta")
methode wordt afgedrukt naar de console. Wanneer de RandomFilter
functie wordt geïmplementeerd en gebruikt door de vlag bètafunctie , is True
het resultaat 50 procent van de tijd en False
de andere 50 procent van de tijd.
Als u de toepassing uitvoert, ziet u dat de vlag bètafunctie soms is ingeschakeld en soms niet.
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Beta is enabled: false
Beta is enabled: false
Beta is enabled: false
Beta is enabled: true
Beta is enabled: true
Volgende stappen
Ga verder met de volgende zelfstudies voor meer informatie over de ingebouwde functiefilters.