code: function delayResponse(response$, delayMs) {
      return new rxjs.Observable(function (observer) {
          var completePending = false;
          var nextPending = false;
          var subscription = response$.subscribe(function (value) {
              nextPending = true;
              setTimeout(function () {
                  observer.next(value);
                  if (completePending) {
                      observer.complete();
                  }
              }, delayMs);
          }, function (error) { return setTimeout(function () { return observer.error(error); }, delayMs); }, function () {
              completePending = true;
              if (!nextPending) {
                  observer.complete();
              }
          });
          return function () {
              return subscription.unsubscribe();
          };
      });
  }
docs: Replaces use of RxJS delay. See v0.5.4. adds specified delay (in ms) to both next and error channels of the response observable