Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

141
Vistas
Usando observables encadenados en transform pipe

Me enfrento a un problema al encadenar observables en la tubería de transformación. Tengo información bancaria con número de cuenta que está encriptada. Quiero descifrar ese número de cuenta y mostrar.

En la consola, muestra el número de cuenta descifrado, pero solo muestra uno encriptado. por favor ayuda

 public transform(bankId: any, name: string, args?: any): Observable<string> { return this.supService.getBankById(bankId).pipe( switchMap( (bInfo: { data: { bankInfo: { accno; }; }; }) => { if (bInfo.data.bankInfo.accno) { const encodedAccountNumber = bInfo.data.partyBankInfo.accountNumber; this.supService.unProtectBank(encodedAccountNumber).subscribe( (data: any) => { console.log("Unencrypted data======>", data); bInfo.data.bankInfo.accno = data; }); } return of(bInfo); }), map( (info: { data: { bankInfo: { accno; }; }; }) => { console.log("Bank Info==============>", bankInfo); if (name === 'accountNumber') { return info.data.bankInfo.accno; } } ) ); }
over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Su primera operación switchMap devuelve of(bInfo) inmediatamente sin ninguna posibilidad de que su llamada interna finalice y actualice el valor.

Lo que debe hacer es reemplazar el contenido de su switchMap con:

 if (bInfo.data.bankInfo.accno) { const encodedAccountNumber = bInfo.data.partyBankInfo.accountNumber; // Do not subscribe here return this.supService.unProtectBank(encodedAccountNumber).pipe( map((data: any) => { console.log("Unencrypted data======>", data); bInfo.data.partyBankInfo.accountNumber = data; // Return something out of the Observable return bInfo; }) ); } else { return of(bInfo); }

La clave aquí son las declaraciones de return y la eliminación de subscribe a favor de pipe .

over 4 years ago · Santiago Trujillo Denunciar

0

devuelva el Observable upProtectedBank y use el operador tap en lugar de subscribe .

 switchMap( (bInfo: { data: { bankInfo: { accno; }; }; }) => { if (bInfo.data.bankInfo.accno) { const encodedAccountNumber = bInfo.data.partyBankInfo.accountNumber; return this.supService.unProtectBank(encodedAccountNumber).pipe( map((data: any) => { console.log("Unencrypted data======>", data); bInfo.data.bankInfo.accno = data; return bInfo; })); } return of(bInfo); }),
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda