admin管理员组文章数量:1434949
I've been working at debugging this for days now! I'm trying to pull the database values from Firebase Real Time database. But the below snippet
get assessmentForm(): FormGroup {
return this._assessmentForm as FormGroup;
}
I've been working at debugging this for days now! I'm trying to pull the database values from Firebase Real Time database. But the below snippet
get assessmentForm(): FormGroup {
return this._assessmentForm as FormGroup;
}
is throwing an error that triggers
core.js:5967 ERROR RangeError: Maximum call stack size exceeded
at ResultsComponent.get _assessmentData [as _assessmentData] (results.ponent.ts:147)
at ResultsComponent.get _assessmentData [as _assessmentData] (results.ponent.ts:147)
at ResultsComponent.get _assessmentData [as _assessmentData] (results.ponent.ts:147)
at ResultsComponent.get _assessmentData [as _assessmentData] (results.ponent.ts:147)
I've implemented snapshot, implemented error handling, my promises aren't nested. Yet the error continues HELP!!
get _assessmentData():AssessmentInterface {
return this._assessmentData;
}
set _assessmentData(value:AssessmentInterface){
JSON.stringify(this._assessmentData=value);
}
private _assessData:any;
hideWhenNoAssessment = false;
public resultData: AssessmentInterface[] | undefined =[];
constructor(private data: AssessmentDataService) { }
ngOnInit() {
this.dataState(); // Initialize assessments list when ponent is ready
this.defineVariables();
this.offerOverall;
}
//valueChanges() method to fetch simple list of assessment list
dataState() {
this.data.ReadListAssessment().valueChanges().subscribe(data => {
if(data.length <= 0){
this.hideWhenNoAssessment = false
this.noData = true;
}else{
this.hideWhenNoAssessment = true;
this.noData = false
}
});
}
defineVariables(){
const assessmentList = this.data.ReadListAssessment();
JSON.stringify(assessmentList);
assessmentList.snapshotChanges().pipe(takeUntil(this.destroy$)).subscribe(data =>{
debugger
// this.resultData = [];
this._assessData =this._assessmentData;
data.forEach(item =>{
const payLoad = item.payload.toJSON();
payLoad.$key = item.key;
this._assessData?.push(payLoad as AssessmentInterface);
for (let i =0; i< this._assessData?.length; i++){
this.offerMark = this._assessData[i].offerMark.value;
this.offerUrgent = this._assessData[i].offerUrgent.value;
}
});
});
}
Share
Improve this question
edited Feb 5, 2021 at 3:02
Frank van Puffelen
601k85 gold badges890 silver badges860 bronze badges
asked Feb 5, 2021 at 2:11
TSHTSH
391 silver badge5 bronze badges
1 Answer
Reset to default 4You are recursively calling your getter from within the getter implementation:
get _assessmentData():AssessmentInterface {
return this._assessmentData;
}
You probably meant to reference a private data member, something like:
private _privateAssessmentData: AssessmentInterface;
get _assessmentData():AssessmentInterface {
return this._privateAssessmentData;
}
本文标签:
版权声明:本文标题:javascript - How to overcome maximum call stack size exceeded in typescript, nodejs & angular - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1745645325a2668100.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论