-
Notifications
You must be signed in to change notification settings - Fork 5
Shared
Contiene librería/funciones generales.
Este servicio maneja las peticiones HTTP de la aplicación. Handlea errores y presenta el loader automático.
- GET
- POST
- PATCH
- PUT
- DELETE
@Cache()
public getUsuarios() {
return this.server.get();
}
El decorador Cache, encapsula un método y la próxima instanciación del mismo, devolverá el último valor obtenido. Se le puede dar como paramétro el nombre de la key a usar como identificador.
@Cache({ key : 'id' })
public getUsuarios(params) {
return this.server.get();
}
Así se podrá cachear cada request según el valor de params[id]
. Si este no existe, se invocara el método. Si existe, se retornara el valor cacheado previamente.
Ejemplo de uso: OrganizacionService
Encapsula una variable como Observable y Observer, es decir crea un BehaviorSubject
en el medio. Cada vez que se setea el valor de la variable internamente se ejecuta un .next()
del Subject. Esto lo hace componible con pipelines de RxJS. Además, permite usar una variable con [(ngModel)]
.
@Observe searchText: string;
searchText$: Observable<string>;
ngOnInit() {
this.searchText$.pipe(
...
)
}
El decorador Unsubscribe, se asegura de dessubescribir el último Observable antes de ejecutar de vuelta el método. Útil para llamadas HTTP que no queremos que se ejecuten dos veces seguidas.
Internamente, lleva control del valor devuelto en el último llamado al metodo. Si este es un Observable, lo termina antes de volver a ejecutar el método.
@Unsubscribe()
public getUsuarios(params) {
return this.server.get();
}
Ejmeplo de uso: El buscador de SNOMED en RUP.
- edad
- enumerar
- fecha
- fromNow
- hora
- html
- nombre
- pluralizar
- sexo
-
Filtra los valores que no sean nulos
-
Deja pasar los varoles null unicamente
-
Combina el último valor emitido en el stream, en el objeto acumulado.
-
Encapsula el valor emitido por el stream en un objeto. Requiere como paramétro el nombre de la key.
-
Compara objetos y no deja pasar valores repetidos. El operador distinctuntilchanged de RxJS no compara objetos internamente, solo por referencia.
-
Cache el último valor emitido para no desencadenar varias requests al subscribirse.