Condividi tramite


Abilitare le funzionalità condizionali con un filtro personalizzato in un'applicazione JavaScript

I flag di funzionalità possono usare filtri di funzionalità per abilitare le funzionalità in modo condizionale. Per altre informazioni sui filtri delle funzionalità, vedere Abilitare le funzionalità condizionali con i filtri delle funzionalità.

L'esempio usato in questa guida si basa sull'applicazione Node.js introdotta nella guida introduttiva alla gestione delle funzionalità. Prima di continuare, completare la guida introduttiva per creare un'applicazione Node.js con un flag di funzionalità beta . Al termine, è necessario aggiungere un filtro di funzionalità personalizzato al flag di funzionalità Beta nell'archivio di configurazione app.

Questo articolo illustra come implementare un filtro di funzionalità personalizzato e usare il filtro delle funzionalità per abilitare le funzionalità in modo condizionale. L'app console di Node.js viene usata come esempio, ma è anche possibile usare il filtro di funzionalità personalizzato in altre applicazioni JavaScript.

Prerequisiti

Implementare un filtro di funzionalità personalizzato

È stato aggiunto un filtro di funzionalità personalizzato denominato Casuale con un parametro Percentuale per il flag di funzionalità Beta nei prerequisiti. Successivamente, si implementa il filtro delle funzionalità per abilitare il flag di funzionalità Beta in base alla probabilità definita dal parametro Percentuale.

  1. Aprire il file app.js e aggiungere RandomFilter con il codice seguente.

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

    È stata aggiunta una RandomFilter classe con un singolo metodo denominato evaluate, che viene chiamato ogni volta che viene valutato un flag di funzionalità. In evaluate, un filtro di funzionalità abilita un flag di funzionalità restituendo true.

    Impostare il nome su di RandomFilter su Casuale, che corrisponde al nome del filtro impostato nel flag di funzionalità Beta in app Azure Configurazione.

  2. Registrare durante RandomFilter la creazione di FeatureManager.

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

Filtro funzionalità in azione

Quando si esegue l'applicazione, il provider di configurazione caricherà il flag di funzionalità Beta da Configurazione app di Azure. Il risultato del metodo isEnabled("Beta") verrà stampato nella console. Poiché RandomFilter viene implementato e usato dal flag di funzionalità Beta, il risultato sarà True il 50% del tempo e False l'altro 50% del tempo.

L'esecuzione dell'applicazione mostrerà che il flag di funzionalità Beta è talvolta abilitato e talvolta no.

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

Passaggi successivi

Per altre informazioni sui filtri di funzionalità predefiniti, continuare con i documenti seguenti.