什么是在Observables中处理数据的模式(angular2)

时间:2016-03-23 17:25:21

标签: javascript typescript angular rxjs

假设我们有这项服务

timeOfHorse = timeOfHorse + "\t" + timeTakenInSeconds[i];

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

@Injectable()
export class CarService {  

    constructor (private http: Http) {}

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

我们希望有一些逻辑,即更改日期:字符串到日期类型,应该在哪里完成?

在服务中?如何? 在课堂上?会.map()命中Car类的构造函数吗?

1 个答案:

答案 0 :(得分:2)

我会把这个过程放在:

    利用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);