in src/SyncTasks.ts [406:424]
private _resolveSuccesses(): void {
this._resolving = true;
// New callbacks can be added as the current callbacks run: use a loop to get through all of them.
while (this._storedCallbackSets.length) {
// Only iterate over the current list of callbacks.
const callbacks = this._storedCallbackSets;
this._storedCallbackSets = [];
callbacks.forEach(callback => {
if (callback.asyncCallback) {
asyncCallback(() => this._resolveSuccessCallback(callback));
} else {
this._resolveSuccessCallback(callback);
}
});
}
this._resolving = false;
}