【问题标题】:What's the pattern to manipulate data in Observables (angular2)在 Observables (angular2) 中操作数据的模式是什么
【发布时间】:2016-03-23 17:25:20
【问题描述】:

假设我们有这个服务

@Injectable()
export class CarService {  

    constructor (private http: Http) {}

    getCars() { 
        return this.http.get('someurl')
                .map(res => <Car[]> res.json())               
                .catch(this.handleError);  
    }   
}

我们在另一个组件中订阅它。如果汽车看起来像这样:

class Car{
   Color:string;
   Timestamp:any; //this comes as a string in JSON but I want it to be of type Date object
}

并且我们想要一些逻辑,即将日期:字符串更改为日期类型,应该在哪里完成?

在服务中?如何? 在一个班级本身? .map() 会命中 Car 类的构造函数吗?

【问题讨论】:

    标签: javascript typescript angular rxjs


    【解决方案1】:

    我会把这个过程要么:

    • 在利用 map 数组方法的 map 运算符中

      return this.http.get('someurl')
              .map(res => <Car[]> res.json())
              .map(data => {
                data.map((d) => {
                  var date = (...)
                  return new Car(color, date);
                });
                return data;
              })
              .catch(this.handleError);  
      
    • Car类的构造函数中

      return this.http.get('someurl')
              .map(res => <Car[]> res.json())
              .map(data => {
                data.map((d) => {
                  return new Car(color, timestampAsString);
                });
                return data;
              })
              .catch(this.handleError);  
      

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-24
      • 1970-01-01
      • 2012-02-28
      • 1970-01-01
      • 2019-10-28
      • 1970-01-01
      相关资源
      最近更新 更多