我有一个函数叫做

opensnack(text) { ... };

就是用给定的文本输入打开一个angular material snackbar.

我想做的是每10秒调用一次这个函数.

我该怎么做?

推荐答案

使用rxjs中的100

以下是方法:

import { interval, Subscription } from 'rxjs';

subscription: Subscription;

...

//emit value in sequence every 10 second
const source = interval(10000);
const text = 'Your Text Here';
this.subscription = source.subscribe(val => this.opensnack(text));

...

ngOnDestroy() {
  this.subscription.unsubscribe();
}

或者,您可以使用100,它可以作为窗口对象上的方法使用.所以你不需要导入任何东西来使用它.

intervalId = setInterval(this.opensnack(text), 10000);

...

ngOnDestroy() {
  clearInterval(this.intervalId);
}

这是给你裁判的SAMPLE STACKBLITZ分.

Typescript相关问答推荐

如何获取数组所有可能的索引作为数字联合类型?

在React中实现具有独立页面的嵌套路径的最佳实践是什么?

如何在TypeScript对象迭代中根据键推断值类型?

如果一个变量不是never类型,我如何创建编译器错误?

我用相同的Redux—Toolkit查询同时呈现两个不同的组件,但使用不同的参数

如何使函数接受类型脚本中具有正确类型的链接修饰符数组

如何在TypeScrip中使用嵌套对象中的类型映射?

使用`renderToPipeableStream`时如何正确恢复服务器端Apollo缓存?

使用axios在ngOnInit中初始化列表

如何根据特定操作隐藏按钮

如何将所有props传递给React中的组件?

迭代通过具有泛型值的映射类型记录

如何在Typescript 中组合unions ?

打字脚本中的模块化或命名空间

使用来自API调用的JSON数据的Angular

更漂亮的格式数组<;T>;到T[]

如何填写Partial的一些属性并让类型系统知道它?

如何创建允许使用带有联合类型参数的Array.from()的TS函数?

当并非所有歧视值都已知时,如何缩小受歧视联盟的范围?

在Typescript 中,是否有一种方法来定义一个类型,其中该类型是字符串子集的所有可能组合?