diff --git a/packages/ldclient-js-common/src/index.js b/packages/ldclient-js-common/src/index.js index a8fb80a7..d43314b6 100644 --- a/packages/ldclient-js-common/src/index.js +++ b/packages/ldclient-js-common/src/index.js @@ -623,6 +623,10 @@ export function initialize(env, user, specifiedOptions, platform, extraDefaults) if (closed) { return utils.wrapPromiseCallback(Promise.resolve(), onDone); } + const finishClose = () => { + closed = true; + flags = {}; + }; const p = Promise.resolve() .then(() => { disconnectStream(); @@ -631,11 +635,8 @@ export function initialize(env, user, specifiedOptions, platform, extraDefaults) return events.flush(); } }) - .catch(() => {}) - .finally(() => { - closed = true; - flags = {}; - }); + .then(finishClose) + .catch(finishClose); return utils.wrapPromiseCallback(p, onDone); } diff --git a/packages/ldclient-js/src/GoalManager.js b/packages/ldclient-js/src/GoalManager.js index cb17a482..763ac977 100644 --- a/packages/ldclient-js/src/GoalManager.js +++ b/packages/ldclient-js/src/GoalManager.js @@ -84,13 +84,14 @@ export default function GoalManager(clientVars, readyCallback) { goalTracker = GoalTracker(goals, sendGoalEvent); watchLocation(locationWatcherInterval, refreshGoalTracker); } + readyCallback(); }) .catch(err => { clientVars.emitter.maybeReportError( new common.errors.LDUnexpectedResponseError('Error fetching goals: ' + (err && err.message) ? err.message : err) ); - }) - .finally(readyCallback); + readyCallback(); + }); return ret; }