Angular 如何根据角度测量中每隔几秒钟的计数加载数据

Angular 如何根据角度测量中每隔几秒钟的计数加载数据,angular,Angular,我在一个数组中有4个对象,我只想一次加载/控制台2个对象,然后在2秒钟后再次加载剩余的2个对象..以此类推,直到我达到4,以角度为单位。下面是代码 app.component.ts 不完全确定要查找什么,但可以使用RxJSfrom函数创建对象流和缓冲区,并使用concatMap、bufferCount和delay操作符延迟它们 试试下面的方法 来自(this.arraydata) .烟斗( 缓冲计数(2), concatMap(objs=>of(objs).pipe(delay(2000)))

我在一个数组中有4个对象,我只想一次加载/控制台2个对象,然后在2秒钟后再次加载剩余的2个对象..以此类推,直到我达到4,以角度为单位。下面是代码

app.component.ts
不完全确定要查找什么,但可以使用RxJS
from
函数创建对象流和缓冲区,并使用
concatMap
bufferCount
delay
操作符延迟它们

试试下面的方法

来自(this.arraydata)
.烟斗(
缓冲计数(2),
concatMap(objs=>of(objs).pipe(delay(2000)))
)
.订阅({
下一步:objs=>{
console.log(objs);
//做点别的
}
});
我修改了你的密码


我在这里看到的一个缺点,您没有提到的是,第一次发射也会延迟2秒。

最简单的方法是使用
setInterval
,您也可以使用
可观察的
:好的,但是如何每隔一个间隔获得接下来的两个对象
import { Component, OnInit } from "@angular/core";

@Component({
  selector: "my-app",
  templateUrl: "./app.component.html",
  styleUrls: ["./app.component.css"]
})
export class AppComponent {
  name = "Angular";
  arraydata = [
    { name: "name1", value: 1 },
    { name: "name2", value: 2 },
    { name: "name3", value: 3 },
    { name: "name4", value: 4 }
  ];

  ngOnInit() {
    console.log(this.arraydata);
  }
}