Fallback for setImmediate (#2428)
This commit is contained in:
@@ -69,7 +69,9 @@ function decorateCall<Method extends DecorateFn<ObsInnerType<ReturnType<Method>>
|
||||
catchError((error) => tracker.reject(error))
|
||||
).subscribe((result): void => {
|
||||
tracker.resolve(result);
|
||||
setImmediate(() => subscription.unsubscribe());
|
||||
typeof setImmediate === 'undefined'
|
||||
? setTimeout(() => subscription.unsubscribe(), 0)
|
||||
: setImmediate(() => subscription.unsubscribe());
|
||||
});
|
||||
});
|
||||
}
|
||||
@@ -87,7 +89,9 @@ function decorateSubscribe<Method extends DecorateFn<ObsInnerType<ReturnType<Met
|
||||
).subscribe((result): void => {
|
||||
// We use setImmediate here to ensure that the Promise above (tracker) has resolved, before returning
|
||||
// the first result. By putting is back in the queue, the promise above is guarded for first execution
|
||||
setImmediate(() => resultCb(result) as void);
|
||||
typeof setImmediate === 'undefined'
|
||||
? setTimeout(() => resultCb(result) as void, 0)
|
||||
: setImmediate(() => resultCb(result) as void);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user