UNPKG

1.06 kBJavaScriptView Raw
1import { Observable } from 'rxjs';
2// Replaces use of RxJS delay. See v0.5.4.
3/** adds specified delay (in ms) to both next and error channels of the response observable */
4export function delayResponse(response$, delayMs) {
5 return new Observable(function (observer) {
6 var completePending = false;
7 var nextPending = false;
8 var subscription = response$.subscribe(function (value) {
9 nextPending = true;
10 setTimeout(function () {
11 observer.next(value);
12 if (completePending) {
13 observer.complete();
14 }
15 }, delayMs);
16 }, function (error) { return setTimeout(function () { return observer.error(error); }, delayMs); }, function () {
17 completePending = true;
18 if (!nextPending) {
19 observer.complete();
20 }
21 });
22 return function () {
23 return subscription.unsubscribe();
24 };
25 });
26}
27//# sourceMappingURL=delay-response.js.map
\No newline at end of file