细胞景观.js和订阅中加载数据



所以我有点困惑,也许有人可以阐明我的问题。我正在探索使用Cytoscape。整洁的图书馆。

我的问题是向图形添加元素。在下图中,如果我添加到我的元素数组(顶部的圆圈(中,如果将显示该节点。但是,如果我将其拉入订阅(底部的圆圈(,它将不会显示。我在每个位置添加的数据是相同的。

如果节点在订阅中,为什么它不会将节点加载到图形中?我的目的是调用我的服务来获取我的积分并加载必要的元素。没有什么极端的。

我正在 Angular 项目中使用 cytoscape.js 库。谢谢。

GetServices() { 
this.elements = [];
// this.elements.push({data: { id: 'a', name: 'Zone 1' }, position: { x: 100, y: 200 }})
// this.BuildCy();
const services: Observable<any>[] = [];
services.push(this.someservice.GetSomeMethod());
forkJoin(services).subscribe((response) => { 
this.elements.push({data: { id: 'a', name: 'Zone 1' }, position: { x: 100, y: 200 }})
this.BuildCy();
});

RxJSforkJoin仅在源可观察量完成时才发出。如果没有,您可以尝试将combineLatest函数与管道输入运算符一起使用take(1)。它将在第一次发射后完成。

combineLatest(services).pipe(
take(1)
).subscribe(
...
);

最新更新