2016-04-03 29 views
1

yazmış: Ben Açısal 2'deEğik 2 http kuvvetle ben Sayıların bir Array veya Kişi Nesne gibi alacak returnType bildiğim hizmetler oluşturmak başardı typescript ile Açısal In 1 returnType

public addAges(ages: number[]) : ng.IPromise<number[]> { 
    return this.$http.post('Proxy/AddAges',ages) 
        .then((response: ng.IHttpPromiseCallbackArg<number[]>) : number[] 
         => { return response.data; }); 
} 

ve şu ana kadar gayet iyi çalışan aşağıdaki hizmeti yarattım, ama Angular 1'de, IPromise ve benim durumumda bir Dizi Arşivi gibi tam olarak yazılmış bir türden dönüş adresini nasıl ayarlayacağımı bilmiyorum.

import {Injectable} from 'angular2/core'; 
import {Http, Response} from 'angular2/http'; 
import {Person} from './../customDataClasses/Person' 
import 'rxjs/add/operator/map'; 

@Injectable() 
export class CourseService { 
    constructor(private _http: Http) { } 
    getPersons(name:string) { 
     return this._http.get(`Home/GetPersons?name=${name}`) 
          .map((res : Response) => res.json()); 
    } 
} 

cevap

2

Bunun istediğini sanırım:

import { Observable } from 'rxjs/observable'; 
import 'rxjs/add/operator/map'; 

... 

    getPersons(name:string):Observable<number[]> { 
     return this._http.get(`Home/GetPersons?name=${name}`) 
          .map((res : Response) => res.json()); 
    } 
+0

Evet - ama "gözlemlenebilir" Sen rxjs gelen Gözlenebilirler alabilirsiniz benim typescript – squadwuschel

+0

ulaşılamıyor/dan Rx içe aktarma gibi {gözlemlenebilir} ' rxjs/Rx '; – Abhinandan

+0

Daha seçici olarak içe aktarılmadıysa, thos'un çıktı büyüklüğü üzerinde olumsuz bir etkisi olup olmadığını biliyor musunuz? Ben TS kullanmıyorum ve derin bilgiye sahip değilim. –