private evaluateFlagAsync()

in packages/sdk/src/Confidence.ts [270:280]


  private evaluateFlagAsync<T extends Value>(path: string, defaultValue: T): Promise<FlagEvaluation.Resolved<T>> {
    let close: () => void;
    return new Promise<FlagEvaluation.Resolved<T>>(resolve => {
      close = this.subscribe(state => {
        // when state is ready we can be sure currentFlags exist
        if (state === 'READY' || state === 'ERROR') {
          resolve(this.currentFlags!.evaluate(path, defaultValue));
        }
      });
    }).finally(close!);
  }