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

603
Vistas
RxJS: dígale al observable que espere a que otro observable emita un valor no nulo

Tengo este setter que asigna un miembro de la clase systemAreasOptions$ observable. Lo hago allí porque necesita esperar a que mappedItem$ haya tenido una emisión que no sea nula. Originalmente tenía systemAreasOptions$ asignado en el nivel de clase, pero no esperó a mappedItem$ . Por alguna razón, ni siquiera pude hacer que el HTML se volviera a representar cuando usaba asyncPipe . ¿Cómo le digo a un observable ( systemAreasOptions$ que espere otro observable ( mappedItem$ ), en lugar de simplemente asignarlo donde emite el otro?

 public set mappedItem(mappedItem: IPermissionsMappedItem) { mappedItem.hydrate$Permissions().then(_ => { this.mappedItem$.next(mappedItem); this.systemAreasOptions$ = from( this.lookupService.SYSTEM_AREAS.toNestedLookup() .$promise as unknown as Observable<IPermissmissionsLookup[]> ).pipe( map(systemAreas => orderBy(systemAreas,systemArea => systemArea?.label?.toLowerCase())), map(systemAreas => systemAreas.map(area => ({ ...area, permissions: this.getPermissionsForArea(area.id) }))), shareReplay(1), tap(console.log) ); this._subscriptions.add( this.systemAreasOptions$.subscribe( this.systemAreasOptionsBehaviourSubject$) ); }); }
over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Puedes combinar los observables:

  • Cree un observable que solo emita mappedItems que no sean nulos
  • Emite ambos valores solo cuando emite

Creo que estás buscando withLatestFrom:

 higherOrder$ = mappedItemThatIsNotNull$.pipe( withLatestFrom(systemAreasOptions$) )

En tu plantilla:

 higherOrder$ | async

Esto generará [mappedItem, systemAreaOptions]

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