• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

326
Views
onValue () de alguna manera causando ERROR Error: no detectado (en promesa): RangeError: se excedió el tamaño máximo de la pila de llamadas

Estoy tratando de usar el SDK estándar de Firebase para la base de datos en tiempo real, y este misterioso error sigue apareciendo en acciones de lectura/escritura aparentemente aleatorias. No puedo detectar ninguna función recursiva que lo cause. Cualquier idea sobre lo que esto podría relacionarse es muy apreciada.

 ERROR Error: Uncaught (in promise): RangeError: Maximum call stack size exceeded RangeError: Maximum call stack size exceeded at ChildrenNode.isLeafNode (index.esm2017.js:5403) at ChildrenNode.equals (index.esm2017.js:5677) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at ChildrenNode.equals (index.esm2017.js:5682) at resolvePromise (zone.js:1213) at zone.js:1120 at asyncGeneratorStep (asyncToGenerator.js:6) at _throw (asyncToGenerator.js:29) at ZoneDelegate.invoke (zone.js:372) at Object.onInvoke (core.js:28673) at ZoneDelegate.invoke (zone.js:371) at Zone.run (zone.js:134) at zone.js:1276 at ZoneDelegate.invokeTask (zone.js:406)

Una cosa que sí sé es que cuando no uso onValue, no aparece el error. Así es como estoy tratando de convertir la devolución de llamada en un observable:

 listenToOne(proposalId: string): Observable<SuccessOrFail<Proposal>> { let unsub: Unsubscribe; const subject = new BehaviorSubject<SuccessOrFail<Proposal>>(Result.fail(`Not Yet`)); get(this.getProposalRef(proposalId)).then(snapshot => { const proposalRef = ref(this.db, `proposals/${Object.keys(snapshot.val())[0]}`); unsub = onValue(proposalRef, snapshot => { const spec: ProposalBuildSpec = snapshot.val(); subject.next(Result.success(this.proposalMapper.toDomain(spec))); }); }); return subject.pipe(finalize(() => unsub())); }

He probado toneladas de variaciones pero nada ha funcionado. Veo que hay muchas preguntas publicadas sobre RangeError: se excedió el tamaño máximo de la pila de llamadas, pero nada relacionado con estos misteriosos ChildrenNode.equals.

¡Cualquier ayuda es muy apreciada! ¡Gracias!

ingrese la descripción de la imagen aquí

almost 3 years ago · Santiago Trujillo
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error