我有4个对象到一个数组中,我只想一次加载/控制2个对象,然后在2秒后再次要加载剩余的2个对象..如此直到我达到角度4,为止。这是下面的代码https://stackblitz.com/edit/angular-5kbra1
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);
}
}
不清楚自己在找什么,但你可以使用RxJSfrom
函数来创建对象流和缓冲并使用拖延concatMap
,bufferCount
和delay
运营商。
尝试以下
from(this.arraydata)
.pipe(
bufferCount(2),
concatMap(objs => of(objs).pipe(delay(2000)))
)
.subscribe({
next: objs => {
console.log(objs);
// do something else
}
});
我已经修改了您的Stackblitz。
我在这里没有提到的一个缺点是,您的第一次发射也会延迟2秒。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句