我如何才能延迟可观察对象的返回速度

议会

举个例子:

 this.http.get('/getdata').pipe(delay(2000))

我希望此请求至少花费2秒钟才能完成,但不超过完成该请求所花费的时间。

换一种说法:

  1. 如果请求需要1秒钟才能完成,我希望可观察对象在2秒钟内完成

  2. 如果请求需要3秒才能完成,我希望可观察对象在3秒内完成,而不是5秒

除此之外,还有其他管道delay()可以实现我不知道的事情吗,或者是否有必要在此基础上构建自定义管道的方法?

用例是显示一个加载器,但是如果请求完成得太快,那么当加载器只是“闪烁”一秒钟时,它看起来就不好了

格雷格

要回答这个问题的问,你可以简单地用combineLatest()一个结合timer(2000)观察到的,请求观察到的,那么就忽略了计时器观察到的结果。之所以起作用,是因为combineLatest等到所有可观察对象都发出了至少一个值之后才发出一个值。

combineLatest(this.http.get('/getdata'), timer(2000), x => x)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

我如何拦截可观察对象以获取值并仍返回可观察对象?

如何延迟创建可观察对象

我如何链接 Angular 可观察对象?

如何在Angular 6 / Typescript中延迟可观察对象

如何用另一个可观察对象填充可观察对象并返回可观察对象

在返回外部可观察对象之前,如何修改可观察对象发出的每个对象的内部元素

完成其他可观察对象后如何返回可观察对象

为什么forkJoin从我的可观察对象返回错误的值?

从Angular HttpInterceptor中的可观察对象返回可观察对象

如何返回一个空的可观察对象

如何在Angular 7中返回可观察对象?

如何返回不同类型的可观察对象

如何返回带有回调值的可观察对象?

如何在Angular中返回可观察对象?

如何在 TypeScript/Angular 中点击可观察对象返回?

如何从用户返回可观察?

如何随着时间动态延迟可观察

如何从可观察对象数组创建可观察对象数组?

Angular-如何从另一个可观察对象返回一个可观察对象

如何使用可观察的结果然后返回可观察的

如何订阅内部可观察和返回可观察

返回内部块可观察对象

使用RxJS从订阅返回可观察的对象

如何在可观察的属性上过滤可观察的对象?

如何基于从另一个可观察对象返回的键中的键创建可观察/ http请求的数组

延迟测试单元测试Rxjava可观察对象

多个顺序的可观察对象,它们之间有适时的延迟

NgRx效果仅侦听最后返回的可观察对象,忽略任何先前返回的可观察对象

如何返回可观察的字符串