Necesita importar el map
operador:
import 'rxjs/add/operator/map'
O más generalmente:
import 'rxjs/Rx';
Aviso: Para las versiones de RxJS 6.x.x
y superiores, deberá usar operadores canalizables como se muestra en el fragmento de código a continuación:
import { map } from 'rxjs/operators';
import { HttpClient } from '@angular/common/http';
// ...
export class MyComponent {
constructor(private http: HttpClient) { }
getItems() {
this.http.get('https://example.com/api/items').pipe(map(data => {})).subscribe(result => {
console.log(result);
});
}
}
Esto es causado por el equipo de RxJS que eliminó la compatibilidad para usar. Consulte los cambios importantes en el registro de cambios de RxJS para obtener más información.
Desde el registro de cambios:
operadores : los operadores Pipeable ahora deben ser importados de rxjs este modo: import { map, filter, switchMap } from 'rxjs/operators';
. No hay importaciones profundas.
Observable
clase? De esta manera:import {Observable} from 'rxjs/Observable';
oimport {Observable} from 'rxjs/Rx';
?npm install rxjs-compat
, que importar elmap
operador.Revisando esto porque mi solución no aparece aquí.
Estoy ejecutando Angular 6 con rxjs 6.0 y me encontré con este error.
Esto es lo que hice para solucionarlo:
Cambié
simplemente ser:
Encontré la solución aquí:
https://github.com/angular/angular/issues/15548#issuecomment-387009186
fuente
import { map } from 'rxjs/operators';
.catch
, podemos usarcatchError
como.pipe(catchError(this.handleError))
?simplemente escriba este comando en el terminal vs code de su proyecto y reinicie el proyecto.
Debe importar el
map
operador escribiendo esto:fuente
Para el angular 7v
Cambio
A
Y
fuente
Tuve el mismo problema con Angular 2.0.1 porque estaba importando Observable desde
En cambio, resuelvo mi problema al importar Observable desde esta ruta
fuente
Observable
(incluidos los que no usa) en el paquete. En su lugar, debe importar cada operador individualmente. Recomiendo el uso de "operadores de alquiler", que se introdujo en RxJS v5.5 para admitir una mejor sacudida del árbol.En rxjs 6, el uso del operador de mapas ha cambiado ahora, debe usarlo de esta manera.
Para referencia https://www.academind.com/learn/javascript/rxjs-6-what-changed/#operators-update-path
fuente
RxJS v6
haga necesitará usar.pipe()
o ninguno de los operadores trabajará directamente desde el Observable. Verás un error como,Property 'share' does not exist on type 'Observable<{}>'
simplemente instale rxjs-compat escribiendo terminal:
luego importar:
fuente
En el último Angular 7. *. * , Puede probar esto simplemente como:
Y luego puede usarlos de la siguiente
methods
manera:Consulte esta demostración para más detalles.
fuente
En mi caso, no sería suficiente incluir solo el mapa y la promesa:
Resolví este problema importando varios componentes de rxjs como recomienda la documentación oficial :
1) Importar declaraciones en un archivo app / rxjs-operator.ts:
2) Importa el operador rxjs en tu servicio:
fuente
En la función anterior puede ver que no usé res.json () ya que estoy usando HttpClient. Aplica res.json () automáticamente y devuelve Observable (HttpResponse <string>). Ya no necesita llamar a esta función después del angular 4 en HttpClient.
fuente
Tuve el mismo problema, estaba usando Visual Studio 2015 que tenía una versión anterior del mecanografiado.
Después de actualizar la extensión, el problema se resolvió.
Enlace de descarga
fuente
Estoy usando Angular 5.2 y cuando lo uso
import 'rxjs/Rx';
me arroja el siguiente error de pelusa: TSLint: esta importación está en la lista negra, importa un submódulo en su lugar (import-blacklist)Vea la captura de pantalla a continuación:
SOLUCIÓN: Lo resolví importando solo los operadores que necesitaba . El siguiente ejemplo:
Entonces, la solución sería importar específicamente solo los operadores necesarios.
fuente
Simplemente instale rxjs-compat para resolver el problema
E importarlo como a continuación
fuente
Primero, ejecute la instalación de la siguiente manera:
Ahora necesita importar
rxjs
enservice.ts
:Voila! El problema ha sido resuelto.
fuente
simplemente ejecutarlo
npm install --save rxjs-compat
corrige el error.Se recomienda aquí
fuente
Intenté todas las respuestas posibles publicadas arriba, ninguna de ellas funcionó,
Que ayude a alguien.
fuente
Yo también enfrenté el mismo error. Una solución que funcionó para mí fue agregar las siguientes líneas en su archivo service.ts en lugar de
import 'rxjs/add/operator/map'
:Por ejemplo, mi app.service.ts después de la depuración fue como,
fuente
Si después de importar importar 'rxjs / add / operator / map' o importar 'rxjs / Rx' también obtiene el mismo error, reinicie su editor de código visual studio, el error se resolverá.
fuente
Para todos los usuarios de Linux que tienen este problema, verifique si la carpeta rxjs-compat está bloqueada. Tuve exactamente el mismo problema y entré en la terminal, usé el sudo su para dar permiso a toda la carpeta rxjs-compat y se solucionó. Eso es suponiendo que importaste
en el archivo project.ts donde ocurrió el error original .map.
fuente
Use la
map
función enpipe
función y resolverá su problema. Puedes consultar la documentación aquí .fuente
npm instalar rxjs @ 6 rxjs-compat @ 6 --save
fuente
ejecuta el comando
Solo importo
reinicie el código vs, problema resuelto.
fuente
La nueva versión angular no es compatible con .map, tiene que instalar esto a través de cmd npm install: guarde rxjs-compat a través de esto, puede disfrutarlo con la técnica anterior. nota: no olvides importar estas líneas.
fuente