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 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

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 .

  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.

    Należy ustawić RandomFilter nazwę na Losowa, która jest zgodna z nazwą filtru ustawioną w flagi funkcji beta w aplikacja systemu Azure 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 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.