Udostępnij za pośrednictwem


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 instrukcję 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 usłudze 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

Implementowanie niestandardowego filtru funkcji

Dodałeś niestandardowy filtr funkcji o nazwie Random z parametrem Procentowy dla flagi funkcji Beta w ramach wymagań wstępnych. Następnie zaimplementujesz filtr funkcji, aby włączyć flagę funkcji beta na podstawie prawdopodobieństwa zdefiniowanego przez parametr Percentage .

  1. 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 nazwie evaluate, która jest wywoływana za każdym razem, gdy zostanie obliczona flaga funkcji. W evaluatesystemie filtr funkcji włącza flagę funkcji, zwracając wartość true.

    Ustawiłeś/ustawiłaś nazwę RandomFilter na Losową, która jest zgodna z nazwą filtru ustawionego w funkcji flagi Beta w usłudze Azure App Configuration.

  2. Zarejestruj element RandomFilter podczas tworzenia obiektu FeatureManager.

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

Filtr funkcji w akcji

Po uruchomieniu aplikacji dostawca konfiguracji załaduje flagę funkcji beta z usługi Azure App Configuration. Wynik isEnabled("Beta") metody zostanie wydrukowany w konsoli programu . Ponieważ RandomFilter jest implementowany i używany przez flagę funkcji Beta, wynik będzie równy True w 50 procentach przypadków i False w pozostałych 50 procentach przypadków.

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.

Aby uruchomić pełną funkcję biblioteki zarządzania funkcjami języka JavaScript, przejdź do następującego dokumentu.