Angular 角度延迟快速http请求

Angular 角度延迟快速http请求,angular,rxjs,rxjs5,Angular,Rxjs,Rxjs5,如果http请求在1秒之内完成,我如何延迟它 第一种情况: -http请求在300ms内完成,然后等待1秒结束 第二种情况: -http请求在1秒和300ms内完成,然后我们不会延迟 如何使用可观察对象完成此操作?您可以使用等待,直到两个可观察对象都完成: Observable.forkJoin( this.http.get(...), Observable.of(null).delay(1000), r => r // Use only the HTTP response )

如果http请求在1秒之内完成,我如何延迟它

第一种情况: -http请求在300ms内完成,然后等待1秒结束

第二种情况: -http请求在1秒和300ms内完成,然后我们不会延迟

如何使用可观察对象完成此操作?

您可以使用等待,直到两个可观察对象都完成:

Observable.forkJoin(
  this.http.get(...),
  Observable.of(null).delay(1000),
  r => r // Use only the HTTP response
))
.subscribe();
您可以使用等待,直到两个观察完成:

Observable.forkJoin(
  this.http.get(...),
  Observable.of(null).delay(1000),
  r => r // Use only the HTTP response
))
.subscribe();

下面是一个示例,其中包含一个可以重用的函数。我还添加了一个小基准测试,以显示快速(300ms)和慢速(1300ms)响应的结果。我还添加了一个小基准测试,以显示快速(300ms)和慢速(1300ms)响应的结果。您介意问一下调用API并延迟它的场景是什么吗?虽然下面的答案有效,但我很好奇…@IgorSoloydenko我们遇到了一个http请求问题,该请求有时比加载动画的速度要快,这并不完美,因此我们都同意等待动画完成是可以的,尽快获得http调用的结果并不是很重要。啊哈,这基本上是一个用户体验问题。有道理!您介意问一下调用API并延迟它的场景是什么吗?虽然下面的答案有效,但我很好奇…@IgorSoloydenko我们遇到了一个http请求问题,该请求有时比加载动画的速度要快,这并不完美,因此我们都同意等待动画完成是可以的,尽快获得http调用的结果并不是很重要。啊哈,这基本上是一个用户体验问题。有道理!