javascript - How to overcome maximum call stack size exceeded in typescript, nodejs & angular - Stack Overflow

I've been working at debugging this for days now! I'm trying to pull the database values from

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
Add a ment  | 

1 Answer 1

Reset to default 4

You 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;
}

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745645325a4637935.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信