Delen via


Voorwaardelijke functies inschakelen met een aangepast filter in een JavaScript-toepassing

Functievlagmen kunnen functiefilters gebruiken om functies voorwaardelijk in te schakelen. Zie Voorwaardelijke functies inschakelen met functiefilters voor meer informatie over functiefilters.

Het voorbeeld dat in deze handleiding wordt gebruikt, is gebaseerd op de Node.js toepassing die is geïntroduceerd in de quickstart voor functiebeheer. Voordat u verdergaat, voltooit u de snelstart waarmee u een Node.js-toepassing creëert met een bèta-functievlag. Zodra dit is voltooid, moet u een aangepast functiefilter toevoegen aan de Bèta-functievlag in uw App Configuration-opslag.

In dit artikel 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

Een aangepast functiefilter implementeren

U hebt een aangepast functiefilter toegevoegd met de naam Random en een Percentage-parameter voor uw 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 .

  1. 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 naam evaluate, die wordt aangeroepen wanneer een functievlag wordt geëvalueerd. Met evaluateeen functiefilter wordt een functievlag ingeschakeld door terug te keren true.

    U stelt de naam in op RandomFilterWillekeurig, die overeenkomt met de filternaam die u hebt ingesteld in de bètafunctievlag in Azure App Configuration.

  2. Registreer de bij het RandomFilter maken van de FeatureManager.

    const fm = new FeatureManager(
        new ConfigurationMapFeatureFlagProvider(appConfig), 
        {
            customFilters: [new RandomFilter()]
        });
    

Functiefilter in actie

Wanneer u de toepassing uitvoert, laadt de configuratieprovider de bètafunctievlag van Azure App Configuration. Het resultaat van de isEnabled("Beta") methode wordt afgedrukt naar de console. Wanneer de RandomFilter wordt geïmplementeerd en gebruikt door de functieflag Beta, zal het resultaat True 50 procent van de tijd zijn en False de andere 50 procent van de tijd.

Als u de toepassing uitvoert, ziet u dat de functie-vlag Beta 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 documenten voor meer informatie over de ingebouwde functiefilters.

Ga verder naar het volgende document voor de volledige functierundown van de JavaScript-functiebeheerbibliotheek.