Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

347
Views
Error de retorno de forkJoin Proporcionó 'indefinido' donde se esperaba una transmisión

Previamente, pregunté un problema sobre la devolución de httprequest anidada con subsolicitud de espera.

https://stackoverflow.com/questions/69308614/angular-map-wait-observable-to-complete[Angular map wait Observable to complete] 1

Le hice algunos cambios, pero arroja un error.

Error: proporcionó 'indefinido' donde se esperaba una transmisión. Puede proporcionar un Observable, Promise, Array o Iterable.

Aquí está mi código de actualización

 test2(): Observable<Student[]> { return this.test1().pipe( mergeMap((result) => { if (!result) { return of(result); } return forkJoin( result.map((rr) => { if (rr.age === 1) { rr.age = rr.age * 10; return of(rr); } else { this.client .get('https://api.coindesk.com/v1/bpi/currentprice.json') .pipe( map((res) => { console.log(res); rr.age = rr.age * 10000; return rr; }) ); } }) ).pipe( map((paths) => { console.log('w'); console.log(paths); return paths; // return result.map((e, index) => ({ // age: paths[index], // })); }) ); }) ); }
over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

El problema en su código es que está utilizando una condición dentro de su .map . Si está utilizando una condición en la función .map , debe agregar return porque, como indica el error, se esperaba una transmisión en lugar de indefinida. Para que pueda proporcionar un observable, debe devolver su observable dentro de su condición if-else .

En el siguiente código, agregué la palabra clave return en su of() y en su llamada http . También creé un stackblitz que contiene mi solución para que lo verifiques.

 test2(): Observable < Student[] > { return this.test1().pipe( mergeMap((result) => { if (!result) { return of(result); } return forkJoin( result.map((rr) => { if (rr.age === 1) { rr.age = rr.age * 10; return of(rr); } else { return this.client .get('https://api.coindesk.com/v1/bpi/currentprice.json') .pipe( map((res) => { console.log(res); rr.age = rr.age * 10000; return rr; }) ); } }) ).pipe( map((paths) => { console.log('w'); console.log(paths); return paths; }) ); }) ); }
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!