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
- Skapa en konsolapp med en funktionsflagga.
- Lägga till ett anpassat funktionsfilter i funktionsflaggan
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 .
Ö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 namnetevaluate
, som anropas när en funktionsflagga utvärderas. Ievaluate
aktiverar ett funktionsfilter en funktionsflagga genom atttrue
returnera .Du ställer in namnet
RandomFilter
på slumpmässigt, vilket matchar filternamnet som du angav i flaggan Beta-funktion i Azure App Configuration.RandomFilter
Registrera när du skaparFeatureManager
.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.