angular - 在 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 不是函数
解决方案
您需要查看管道,因为您使用的是 RxJS 最新版本。
return this.http.get('http://jsonplaceholder.typicode.com/users')
.pipe(
map(res => res.json())
);
推荐阅读
- r - 使用R中的正则表达式从文件名中提取模式?
- python - 从布尔字段odoo 10创建函数
- xml - python3中的忽略/展平xml元素
- c# - ASP.NET Web API 项目中的 System.Data.Common、System.Net.Http 框架与 Nuget 程序集
- ios - Swift 4 Track 电池电量
- python - 计算 DataFrame 列中所有已定义的值,其中另一列中的对应值在 pandas 中未定义
- javascript - 用while循环计算从1到a的所有偶数之和
- python - 使用 super() 在 Child 中重新实现 Parent 的属性设置器
- swift - WKWebView 布局问题
- docker - 使用 docker-compose 运行容器时出错,从我在 dockerhub 中的私人仓库中提取图像时出错