Angular 5 - 相当于 AngularJS 的 $interval

标签 angular rxjs observable delay repeat

我试图找到从 AngularJS 到 Angular 5 的 $interval 的等价物。

$interval 将重复函数调用或 block 指定的次数,中间有延迟。 这是我想做的,用 AngularJS 编写:

$interval(function() {
      myFunction(param1, param2)
      i++;
    }, delay, count);

i 进行抽象,我将它用于不同的目的。 这在 Angular 5 中如何实现? 我已经尝试使用 rxjs/Observable 但我似乎无法找到一种方法来同时包含延迟和多次运行部分。

谢谢。

最佳答案

您可以使用 timer 静态方法和 take 运算符。

import {timer} from 'rxjs';
import {take} from 'rxjs/operators';  

timer(yourDelay, 1000).pipe(
   take(yourCount)).subscribe(x=>{
    // do here whatever you want to do here
    })

我假设您使用的是 RxJS 6。

关于Angular 5 - 相当于 AngularJS 的 $interval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50096714/

相关文章:

javascript - 显示活跃用户图标 - 如何确定谁不再在线(寻找 NG 或 JS 解决方案)

angular - Rxjs 6 : using catchError() gives You provided 'undefined' where a stream was expected. 您可以提供一个 Observable、Promise、Array 或 Iterable

angular - 使用 Angular 动画更改背景颜色

angular - 创建一个具有显示组件选择器的 DisplayComponent

angular - 相当于 Angular 2 中的 $compile

angular - 嵌套函数调用不起作用(代码流问题)

Angular2 和 ReactiveX 的分页思路

angular - 如何使用rxjs的过滤器运算符?

android - 观察者对象上的订阅(new Subscriber<XXX>()...)不起作用 Retrofit-RxJava

具有提取器更新事件的 JavaFX ObservableList 在应该触发时未触发