in typescript如何在函数中编写http服务

时间:2017-04-15 17:31:47

标签: angular2-routing

我知道在这里以这种方式使用http服务,但是如何在函数中编写服务,如

export class studentController {

        GetStudentData() {
         constructor(http: Http) {
          http.get('api/Employee').subscribe(result => {

                this.student = result.json();
            })
        }
    }


export class StudentMastre {
    stdID: Number;
    stdName: string;
    email: string;
    Phone: string;
    Address: string;
}

1 个答案:

答案 0 :(得分:1)

您需要提供服务来请求数据并获取,然后使用组件内部的服务来获取数据,

您的样品服务应该是,

# pp prints both inputs
pp = Infix -> (x, y) {"x: #{x}\ny: #{y}\n\n"}

[ true, false, nil, 0, 3, -5, 1.5, -3.7, :e, :'3%4s', 'to',
  /no/, /(?: [^A-g7-9]\s)(\w{2,3})*?/,
  Rational(3), Rational(-9.5), Complex(1), Complex(0.2, -4.6),
  {}, {e: 4, :u => 'h', 12 => [2, 3]},
  [], [5, 't', :o, 2.2, -Rational(3)], (1..2), (7...9)
].each {|i| puts i.class; puts i |pp| i}

然后在你的组件中,

@Injectable()
export class CategoryService {
  constructor(private http: Http) { }
 c(): Observable<StudentMastre[]> {
        let wikiUrl = return this.http
            .get('api/Employee')
            .map(this.extractData)
            .catch(this.handleErrors);
    }
private extractData(res: Response) {
        let data = res.json();
        return data;
    }

    private handleErrors (error: Response | any) {
        let errMsg: string;
        if (error instanceof Response) {
            const body = error.json() || '';
            const err = body.error || JSON.stringify(body);
            errMsg = `${error.status} - ${error.statusText || ''} ${err}`;
        } else {
            errMsg = error.message ? error.message : error.toString();
        }
        console.error(errMsg);
        return Observable.throw(errMsg);
    }