Włączanie funkcji warunkowych przy użyciu filtru niestandardowego w aplikacji JavaScript
Flagi funkcji mogą używać filtrów funkcji w celu warunkowego włączania funkcji. Aby dowiedzieć się więcej na temat filtrów funkcji, zobacz Włączanie funkcji warunkowych z filtrami funkcji.
Przykład używany w tym przewodniku jest oparty na aplikacji Node.js wprowadzonej w przewodniku Szybki start dotyczącym zarządzania funkcjami. Przed kontynuowaniem ukończ przewodnik Szybki start, aby utworzyć aplikację Node.js z flagą funkcji beta . Po zakończeniu należy dodać niestandardowy filtr funkcji do flagi funkcji beta w magazynie App Configuration.
Z tego artykułu dowiesz się, jak zaimplementować niestandardowy filtr funkcji i użyć filtru funkcji w celu warunkowego włączenia funkcji. Jako przykład używamy aplikacji konsolowej Node.js, ale można również użyć niestandardowego filtru funkcji w innych aplikacjach JavaScript.
Wymagania wstępne
- Utwórz aplikację konsolową z flagą funkcji.
- Dodawanie niestandardowego filtru funkcji do flagi funkcji
Implementowanie niestandardowego filtru funkcji
Dodano niestandardowy filtr funkcji o nazwie Random z parametrem Procent dla flagi funkcji beta w wymaganiach wstępnych. Następnie zaimplementujesz filtr funkcji, aby włączyć flagę funkcji beta na podstawie prawdopodobieństwa zdefiniowanego przez parametr Percentage .
Otwórz plik app.js i dodaj następujący
RandomFilter
kod.class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }
Dodano klasę o pojedynczej
RandomFilter
metodzie o nazwieevaluate
, która jest wywoływana za każdym razem, gdy zostanie obliczona flaga funkcji. Wevaluate
systemie filtr funkcji włącza flagę funkcji, zwracając wartośćtrue
.Należy ustawić
RandomFilter
nazwę na Losowa, która jest zgodna z nazwą filtru ustawioną w flagi funkcji beta w aplikacja systemu Azure Configuration.Zarejestruj element
RandomFilter
podczas tworzenia obiektuFeatureManager
.const fm = new FeatureManager(ffProvider, {customFilters: [new RandomFilter()]});
Filtr funkcji w akcji
Po uruchomieniu aplikacji dostawca konfiguracji załaduje flagę funkcji Beta z aplikacja systemu Azure Configuration. Wynik isEnabled("Beta")
metody zostanie wydrukowany w konsoli programu . RandomFilter
Ponieważ element jest implementowany i używany przez flagę funkcji Beta, wynik będzie wynosić True
50 procent czasu i False
pozostałe 50 procent czasu.
Uruchomienie aplikacji spowoduje wyświetlenie, że flaga funkcji beta jest czasami włączona, a czasami nie.
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
Następne kroki
Aby dowiedzieć się więcej na temat wbudowanych filtrów funkcji, przejdź do następujących dokumentów.