En la página de documentación de Angular 2 para usar el servicio Http, hay un ejemplo.
getHeroes (): Observable<Stuff[]> {
return this.http.get(this.url)
.map(this.extractData)
.catch(this.handleError);
}
Cloné el proyecto angular2-webpack-starter y agregué el código anterior.
Importé Observable
usando
import {Observable} from 'rxjs/Observable';
Supongo que las propiedades también Observable
se importan ( .map
funciona). Miró el registro de cambios para rxjs.beta-6 y no se menciona nada al respecto catch
.
javascript
angular
typescript
rxjs
BrianRT
fuente
fuente
import {Observable} from 'rxjs/Observable';
? Eso me parece más intuitivo.rxjs/Observable
módulo no importa operadores porque hay muchos operadores. Elrxjs/Rx
módulo importa todo ... Creo que es una opción de diseño.Con RxJS 5.5+, el
catch
operador ahora está en desuso. Ahora debe usar elcatchError
operador junto conpipe
.Para cada Operador RxJS que importe, incluido
catchError
ahora debe importar desde 'rxjs / operadores' y usar el operador de tubería.Ejemplo de error de captura para una solicitud Http Observable
Observe aquí que
catch
se reemplaza concatchError
y elpipe
operador se utiliza para componer los operadores de manera similar a lo que está acostumbrado con el encadenamiento de puntos.Consulte la documentación de rxjs sobre operadores pipables (anteriormente conocidos como lettable ) para obtener más información.
fuente
map(res => res)
requiere?pipe
función RxJS le permite combinar múltiples funciones en una sola función. La función pipe () toma como argumentos las funciones que desea combinar y devuelve una nueva función que, cuando se ejecuta, ejecuta las funciones compuestas en secuencia. Ese mapeo no hace nada, ya que técnicamente es una función de identidad.fuente