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
- Creare un'app console con un flag di funzionalità.
- Aggiungere un filtro di funzionalità personalizzato al flag di funzionalità
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.
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 denominatoevaluate
, che viene chiamato ogni volta che viene valutato un flag di funzionalità. Inevaluate
, un filtro di funzionalità abilita un flag di funzionalità restituendotrue
.Impostare il nome su di
RandomFilter
su Casuale, che corrisponde al nome del filtro impostato nel flag di funzionalità Beta in app Azure Configurazione.Registrare durante
RandomFilter
la creazione diFeatureManager
.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.