Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

322
Visualizações
¿Cómo llamar secuencialmente a la función asíncrona dentro del método Observable?

Tengo el siguiente método:

 public classMethod( payload: Payload, ): Observable<Result> { const { targetProp } = payload; let target; return this.secondClass.secondClassMethod({ targetProp }).pipe( delayWhen(() => // some other actions ), ); }

Es fundamental establecer este valor target antes de llamar a this.secondClass.secondClassMethod .

¿Es posible llamar a un método asincrónico regular como este?

 public classMethod( req: classMethodRequest, ): Observable<classMethodResponse> { const { targetProp } = req; let target; /** ** Calling async method here to set ```target``` ** like ** target = await someAsyncMethod(targetProp) **/ return this.secondClass.secondClassMethod({ targetProp }).pipe( delayWhen(() => ), ); }

En otras palabras, me gustaría invocar el método classMethod para que classMethod establezca la variable target dentro de él y luego será posible usar target en la construcción de retorno.

 return this.secondClass.secondClassMethod({ targetProp }).pipe( delayWhen(() => ), );

He intentado cubrir el método asíncrono en:

 from( (async () => { target = await this.someAsyncMethod.setTarget(targetProp); })(), );

PERO me dijeron que esta portada invocará en paralelo con

 return this.secondClass.secondClassMethod({ targetProp }).pipe( delayWhen(() => ), );

paralelo no es una opción aquí :(

about 4 years ago · Santiago Gelvez
1 Respostas
Responde à pergunta

0

Puede convertir la promesa en un observable usando from y use switchMap

 return from(this.someAsyncMethod.setTarget(targetProp)).pipe( switchMap(target => this.secondClass.secondClassMethod({ targetProp }), delayWhen(() => ... ), );
about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda