Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/amazon-s3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Cytoscape.js并在subscribe中加载数据_Angular_Cytoscape.js - Fatal编程技术网

Angular Cytoscape.js并在subscribe中加载数据

Angular Cytoscape.js并在subscribe中加载数据,angular,cytoscape.js,Angular,Cytoscape.js,所以我有点困惑,也许有人能解释一下我的问题。我正在使用Cytoscape进行探索。整洁的图书馆 我的问题是向图表中添加元素。在下图中,如果我添加到元素数组(顶部的圆圈),if将显示该节点。但是,如果我将其拉入订阅(底部的圆圈),它将不会显示。我在每个位置添加的数据都是相同的 如果节点在订阅中,为什么不将其加载到图形中?我的目的是给我的服务打电话,获取我的分数并加载必要的元素。没有什么极端 我正在Angular项目中使用cytoscape.js库。谢谢 GetServices() {

所以我有点困惑,也许有人能解释一下我的问题。我正在使用Cytoscape进行探索。整洁的图书馆

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

如果节点在订阅中,为什么不将其加载到图形中?我的目的是给我的服务打电话,获取我的分数并加载必要的元素。没有什么极端

我正在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();

    });
GetServices(){
this.elements=[];
//push({data:{id:'a',name:'Zone 1'},位置:{x:100,y:200})
//这个。BuildCy();
常量服务:可观察[]=[];
push(this.someservice.GetSomeMethod());
forkJoin(服务).subscribe((响应)=>{
push({data:{id:'a',name:'Zone 1'},位置:{x:100,y:200})
这个。BuildCy();
});
RxJS仅在源观测完成时才发射。如果未完成,您可以尝试使用带有管道输入操作符的函数。它将在第一次发射后完成

CombineTest(服务)。管道(
采取(1)
).订阅(
...
);

谢谢你的建议。但这不起作用。我需要源代码来完成,这就是我使用forkjoin的原因。它将是我所有点的数据集。@GlitchClipse:然后你需要显示从
GetConfigPointDetailsByPoint()返回的内容
函数。另外,请尝试将代码以文本形式发布,屏幕截图使其更难复制。我将其更新为代码块,但您忽略了这个问题。在我的示例中,订阅返回什么并不重要,因为我直接在订阅中推送值。在订阅工作之前,顶部有两行相同的注释。Once他们在订阅中,他们没有。元素数组在图表生成之前有一个值。不,你没有发现问题。前两行工作,因为你直接推送项目。订阅不工作,因为可能订阅甚至没有被点击。你需要检查从服务actu返回的可观察值ally返回正确的响应或返回错误。首先尝试使用错误回调订阅单个observable,看看是否正确返回响应。它正在命中订阅,并且不会在响应上返回错误。我认为在响应完成之前加载图形,因此元素数据不在数组中当图形加载时。