首页 > 解决方案 > 在 Angular 4 服务中,.map 功能没有工作

问题描述

我是 Angular 7 的初学者。我正在使用 Angular 7 创建一些应用程序。在服务中,我导入了地图,但它不起作用。我该如何解决?这是服务文件的代码。

import { Injectable } from '@angular/core';
import { Observable } from 'rxjs';
import { Http } from '@angular/http';
import { map } from 'rxjs/operators';

@Injectable()

export class DataService {
    users: string[];
    data: Observable<Array<number>>;

    constructor(public http: Http) {
        this.users = ['supun' , 'madhushi' , 'kennady' , 'sachini'];
    }

    getUsers() {
        return this.users;
    }

    getUsers1() {
        return this.http.get('http://jsonplaceholder.typicode.com/users')
            .map(res => res.json());
    }

    getData() {
        this.data = new Observable(observer => {
            setTimeout(() => {
                observer.next(1);
            }, 1000);
            setTimeout(() => {
                observer.next(2);
            }, 2000);
            setTimeout(() => {
                observer.next(3);
            }, 3000);
            setTimeout(() => {
                observer.next('hello');
            }, 4000);
            setTimeout(() => {
                observer.complete();
            }, 5000);

        });

        return this.data;
    }
}

错误是 this.http.get(...).map 不是函数

标签: angularangular7

解决方案


您需要查看管道,因为您使用的是 RxJS 最新版本。

return this.http.get('http://jsonplaceholder.typicode.com/users')
    .pipe(
       map(res => res.json())
    );

推荐阅读