Dela via


Aktivera villkorsstyrda funktioner med ett anpassat filter i ett JavaScript-program

Funktionsflaggor kan använda funktionsfilter för att aktivera funktioner villkorligt. Mer information om funktionsfilter finns i Aktivera villkorsstyrda funktioner med funktionsfilter.

Exemplet som används i den här guiden baseras på det Node.js program som introducerades i snabbstarten för funktionshantering. Innan du fortsätter kan du slutföra snabbstarten för att skapa ett Node.js-program med en betafunktionsflagga . När du är klar måste du lägga till ett anpassat funktionsfilter i betafunktionsflaggan i appkonfigurationsarkivet.

I den här artikeln lär du dig hur du implementerar ett anpassat funktionsfilter och använder funktionsfiltret för att aktivera funktioner villkorligt. Vi använder Node.js-konsolappen som exempel, men du kan också använda det anpassade funktionsfiltret i andra JavaScript-program.

Förutsättningar

Implementera ett anpassat funktionsfilter

Du har lagt till ett anpassat funktionsfilter med namnet Random med en procentparameter för din Beta-funktionsflagga i förutsättningarna. Sedan implementerar du funktionsfiltret för att aktivera betafunktionsflaggan baserat på den chans som definieras av parametern Procent .

  1. Öppna filen app.js och lägg till RandomFilter med följande kod.

    class RandomFilter {
        name = "Random";
        evaluate(context) {
            const percentage = context.parameters.Percentage;
            const randomNumber = Math.random() * 100;
            return randomNumber <= percentage;
        }
    }
    

    Du har lagt till en RandomFilter klass som har en enda metod med namnet evaluate, som anropas när en funktionsflagga utvärderas. I evaluateaktiverar ett funktionsfilter en funktionsflagga genom att truereturnera .

    Du ställer in namnet RandomFilter på slumpmässigt, vilket matchar filternamnet som du angav i flaggan Beta-funktion i Azure App Configuration.

  2. RandomFilter Registrera när du skapar FeatureManager.

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

Funktionsfilter i praktiken

När du kör programmet läser konfigurationsprovidern in betafunktionsflaggan från Azure App Configuration. Resultatet av isEnabled("Beta") metoden skrivs ut till konsolen. RandomFilter När den implementeras och används av betafunktionsflaggan blir True resultatet 50 procent av tiden och False de övriga 50 procenten av tiden.

När programmet körs visas att betafunktionsflaggan ibland är aktiverad och ibland inte.

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

Nästa steg

Om du vill veta mer om de inbyggda funktionsfiltren fortsätter du till följande dokument.