我目前正在通过 console.logs 调试我的 ng2 应用程序。如果您正在记录一个数组,它将返回一个具有以下属性的 AnonymousSubject:
AnonymousSubject
_isScalar:false
closed:false
destination:AnonymousSubject
hasError:false
isStopped:false
observers:Array[0]
operator:ToArrayOperator
source:AnonymousSubject
thrownError:null
__proto__:Subject
是否可以看到数组的内容?为什么单击“目标”会递归循环其内容 n 次?
代码:
GetFeed(id: UUID): Feed[] {
var toReturnFeed: any[];
this.table.find({id: id}).fetch().subscribe(result => toReturnFeed);
console.log(toReturnFeed);
return toReturnFeed;
}
我还有更多问题,但我会暂时保存这些问题。提前致谢。
您没有记录一个实际的数组,而是一个Observable
可能会返回一个数组的记录。
并且由于您构建的结构 this Observable
,其目的地与原点相同,因此将具有循环引用。
要记录阵列:
this.someObservable.subscribe((someArray: any[]) => {
console.log(someArray);
});
既然您已经发布了代码,您似乎忘记了一个重要的aync
方法概念。您不能那样返回toReturnFeed
,因为它总是会导致undefined
。你应该返回Observable<Feed[]>
GetFeed(id: UUID): Observable<Feed[]> {
return this.table.find({id: id}).fetch()
}
然后,您可以从其他地方调用此方法并获得如下结果:
serviceInstance.GetFeed(1).subscribe((returnFeed: Feed[]) => {
console.log(returnFeed);
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句