docs: Clarify the behavior of setProviderAndWait (#1180)
## This PR - Updates readme examples to include a try/catch around setProviderAndWait - Improves the setProviderAndWait JS Doc ### Related Issues Fixes #1179 ### Notes https://cloud-native.slack.com/archives/C0344AANLA1/p1745326882304199 --------- Signed-off-by: Michael Beemer <beeme1mr@users.noreply.github.com>
This commit is contained in:
parent
a259b9097b
commit
4fe8d87a2e
|
|
@ -75,7 +75,11 @@ yarn add @openfeature/server-sdk @openfeature/core
|
|||
import { OpenFeature } from '@openfeature/server-sdk';
|
||||
|
||||
// Register your feature flag provider
|
||||
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
|
||||
try {
|
||||
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize provider:', error);
|
||||
}
|
||||
|
||||
// create a new client
|
||||
const client = OpenFeature.getClient();
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ export class OpenFeatureAPI
|
|||
* Setting a provider supersedes the current provider used in new and existing unbound clients.
|
||||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(provider: Provider): Promise<void>;
|
||||
/**
|
||||
|
|
@ -92,7 +92,7 @@ export class OpenFeatureAPI
|
|||
* @param {string} domain The name to identify the client
|
||||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(domain: string, provider: Provider): Promise<void>;
|
||||
async setProviderAndWait(domainOrProvider?: string | Provider, providerOrUndefined?: Provider): Promise<void> {
|
||||
|
|
|
|||
|
|
@ -75,7 +75,11 @@ yarn add @openfeature/web-sdk @openfeature/core
|
|||
import { OpenFeature } from '@openfeature/web-sdk';
|
||||
|
||||
// Register your feature flag provider
|
||||
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
|
||||
try {
|
||||
await OpenFeature.setProviderAndWait(new YourProviderOfChoice());
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize provider:', error);
|
||||
}
|
||||
|
||||
// create a new client
|
||||
const client = OpenFeature.getClient();
|
||||
|
|
@ -121,7 +125,11 @@ Once you've added a provider as a dependency, it can be registered with OpenFeat
|
|||
To register a provider and ensure it is ready before further actions are taken, you can use the `setProviderAndWait` method as shown below:
|
||||
|
||||
```ts
|
||||
await OpenFeature.setProviderAndWait(new MyProvider());
|
||||
try {
|
||||
await OpenFeature.setProviderAndWait(new MyProvider());
|
||||
} catch (error) {
|
||||
console.error('Failed to initialize provider:', error);
|
||||
}
|
||||
```
|
||||
|
||||
#### Synchronous
|
||||
|
|
|
|||
|
|
@ -77,7 +77,7 @@ export class OpenFeatureAPI
|
|||
* Setting a provider supersedes the current provider used in new and existing unbound clients.
|
||||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(provider: Provider): Promise<void>;
|
||||
/**
|
||||
|
|
@ -87,7 +87,7 @@ export class OpenFeatureAPI
|
|||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @param {EvaluationContext} context The evaluation context to use for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(provider: Provider, context: EvaluationContext): Promise<void>;
|
||||
/**
|
||||
|
|
@ -97,7 +97,7 @@ export class OpenFeatureAPI
|
|||
* @param {string} domain The name to identify the client
|
||||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(domain: string, provider: Provider): Promise<void>;
|
||||
/**
|
||||
|
|
@ -108,7 +108,7 @@ export class OpenFeatureAPI
|
|||
* @param {Provider} provider The provider responsible for flag evaluations.
|
||||
* @param {EvaluationContext} context The evaluation context to use for flag evaluations.
|
||||
* @returns {Promise<void>}
|
||||
* @throws Uncaught exceptions thrown by the provider during initialization.
|
||||
* @throws {Error} If the provider throws an exception during initialization.
|
||||
*/
|
||||
setProviderAndWait(domain: string, provider: Provider, context: EvaluationContext): Promise<void>;
|
||||
async setProviderAndWait(
|
||||
|
|
|
|||
Loading…
Reference in New Issue