Você precisa importar o map
operador:
import 'rxjs/add/operator/map'
Ou mais geralmente:
import 'rxjs/Rx';
Aviso: Para versões do RxJS 6.x.x
e versões posteriores , você precisará usar operadores pipeable, conforme mostrado no snippet de código abaixo:
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);
});
}
}
Isso é causado pela equipe do RxJS removendo o suporte ao uso. Veja as alterações mais recentes no log de alterações do RxJS para obter mais informações.
No changelog:
operadores : operadores Pipeable deve agora ser importados de rxjs assim: import { map, filter, switchMap } from 'rxjs/operators';
. Nenhuma importação profunda.
Observable
classe? Assim:import {Observable} from 'rxjs/Observable';
ouimport {Observable} from 'rxjs/Rx';
?npm install rxjs-compat
, do que importar omap
operador.Revisitando isso, porque minha solução não está listada aqui.
Estou executando o Angular 6 com rxjs 6.0 e me deparei com esse erro.
Aqui está o que eu fiz para corrigi-lo:
eu mudei
ser simplesmente:
Encontrei a correção aqui:
https://github.com/angular/angular/issues/15548#issuecomment-387009186
fonte
import { map } from 'rxjs/operators';
.catch
, podemos usarcatchError
como.pipe(catchError(this.handleError))
?basta escrever este comando no terminal vs code do seu projeto e reiniciar o projeto.
Você precisa importar o
map
operador, escreva isto:fonte
Para o Angular 7v
mudança
Para
E
fonte
Eu tive o mesmo problema com o Angular 2.0.1 porque estava importando o Observable de
Em vez disso, resolvo meu problema ao importar o Observable desse caminho
fonte
Observable
(incluindo os que você não usa) no pacote. Em vez disso, você deve importar cada operador individualmente. Eu recomendo o uso de "operadores permitidos", que foi introduzido no RxJS v5.5 para oferecer melhor agitação nas árvores.No rxjs 6, o uso do operador do mapa foi alterado agora, você precisa usá-lo dessa maneira.
Para referência https://www.academind.com/learn/javascript/rxjs-6-what-changed/#operators-update-path
fonte
RxJS v6
isso precisará usar o.pipe()
ou nenhum dos operadores trabalhará diretamente no Observable. Você verá um erro como,Property 'share' does not exist on type 'Observable<{}>'
basta instalar o rxjs-compat digitando o terminal:
depois importe:
fonte
No mais recente Angular 7. *. * , Você pode tentar isso simplesmente como:
E então você pode usá-los da
methods
seguinte maneira:Confira esta demonstração para mais detalhes.
fonte
No meu caso, não basta incluir apenas o mapa e a promessa:
Resolvi esse problema importando vários componentes rxjs, como recomenda a documentação oficial :
1) Importar instruções em um arquivo app / rxjs-operator.ts:
2) Importe o próprio operador rxjs no seu serviço:
fonte
Na função acima, você pode ver que eu não usei res.json () desde que estou usando HttpClient. Aplica res.json () automaticamente e retorna Observable (HttpResponse <string>). Você não precisa mais chamar essa função depois do angular 4 no HttpClient.
fonte
Eu tive o mesmo problema, estava usando o Visual studio 2015, que tinha uma versão mais antiga do texto datilografado.
Após a atualização da extensão, o problema foi resolvido.
Link para Download
fonte
Estou usando o Angular 5.2 e, quando o uso
import 'rxjs/Rx';
, gera o seguinte erro de fiapo: TSLint: Esta importação está na lista negra, importe um submódulo (import-blacklist)Veja a imagem abaixo:
SOLUÇÃO: Resolvi importando apenas os operadores que eu precisava . Exemplo a seguir:
Portanto, a correção seria importar especificamente apenas os operadores necessários.
fonte
Basta instalar o rxjs-compat para resolver o problema
E importe-o como abaixo
fonte
Antes de tudo, execute a instalação como abaixo:
Agora você precisa importar
rxjs
emservice.ts
:Voila! O problema foi corrigido.
fonte
simplesmente execute
npm install --save rxjs-compat
-o corrige o erro.É recomendado aqui
fonte
Eu tentei todas as respostas possíveis postadas acima, nenhuma delas funcionou,
Que isso ajude alguém.
fonte
Eu também enfrentei o mesmo erro. Uma solução que funcionou para mim foi adicionar as seguintes linhas no seu arquivo service.ts em vez de
import 'rxjs/add/operator/map'
:Por exemplo, meu app.service.ts após a depuração era como,
fonte
Se depois de importar import 'rxjs / add / operator / map' ou importar 'rxjs / Rx' você também receber o mesmo erro e reiniciar o editor de código do visual studio, o erro será resolvido.
fonte
para todos os usuários linux que estão tendo esse problema, verifique se a pasta rxjs-compat está bloqueada. Eu tive exatamente o mesmo problema e entrei no terminal, usei o sudo su para dar permissão a toda a pasta rxjs-compat e foi corrigido. Isso supõe que você importou
no arquivo project.ts em que ocorreu o erro .map original.
fonte
Use a
map
função empipe
function e isso resolverá o seu problema. Você pode verificar a documentação aqui .fonte
npm install rxjs @ 6 rxjs-compat @ 6 --save
fonte
execute o comando
Eu apenas importo
reinicie o código vs, problema resolvido.
fonte
A nova versão angular não suporta .map, você precisa instalá-lo através do cmd npm install --save rxjs-compat através disso, você pode desfrutar com a técnica antiga. nota: não esqueça de importar essas linhas.
fonte