Delen via


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

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 .

  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 RandomFilter Willekeurig, die overeenkomt met de filternaam die u hebt ingesteld in de bètafunctievlag in Azure-app Configuratie.

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

    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.