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!);
}