功能旗標可以使用功能篩選有條件地啟用功能。 若要深入瞭解功能篩選,請參閱 使用功能篩選器啟用條件式功能。
本指南中使用的範例是以功能管理 快速入門中引進的Node.js應用程式為基礎。 繼續進行之前,請先完成快速入門,以使用 Beta 功能旗標建立Node.js應用程式。 完成後,您必須將自訂功能篩選新增至應用程式組態存放區中的 Beta 功能旗標。
在本文中,您將瞭解如何實作自定義功能篩選,並使用功能篩選條件來有條件地啟用功能。 我們以Node.js控制台應用程式為例,但您也可以在其他 JavaScript 應用程式中使用自定義功能篩選器。
必要條件
- 使用功能旗標建立主控台應用程式。
- 將自訂功能篩選新增至功能旗標
實作自訂功能篩選
您已新增名為 Random 的自訂功能篩選,其在必要條件中包含 Beta 功能旗標的 Percentage 參數。 接下來,您會實作功能篩選,以根據 Percentage 參數所定義的機率來啟用 Beta 功能旗標。
開啟檔案 app.js ,並使用下列程式代碼新增
RandomFilter。class RandomFilter { name = "Random"; evaluate(context) { const percentage = context.parameters.Percentage; const randomNumber = Math.random() * 100; return randomNumber <= percentage; } }您已新增類別
RandomFilter,其具有名為evaluate的單一方法,每當評估功能旗標時,就會呼叫這個類別。 在evaluate中,功能篩選會傳回true來啟用功能旗標。您會將 的名稱
RandomFilter設定為 Random,這符合您在 Azure 應用程式組態 中 Beta 功能旗標中設定的篩選名稱。RandomFilter建立 時註冊FeatureManager。const fm = new FeatureManager( new ConfigurationMapFeatureFlagProvider(appConfig), { customFilters: [new RandomFilter()] });
功能篩選作用中
當您執行應用程式時,組態提供者會從 Azure 應用程式組態載入 Beta 功能旗標。
isEnabled("Beta") 方法的結果將會列印至主控台。 由於 RandomFilter 是由 Beta 功能旗標實作及使用,因此結果將有 50% 的時間為 True,而其他 50% 的時間為 False。
執行應用程式會顯示 Beta 功能旗標有時會啟用,有時則不會啟用。
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
下一步
若要深入瞭解內建功能篩選器,請繼續進行下列檔。
如需 JavaScript 功能管理連結庫的完整功能取消,請繼續進行下列檔。