Angular 4发送两次HTTP请求

时间:2017-04-28 19:53:56

标签: javascript angular typescript

您好,并提前感谢您的帮助。我刚遇到一个问题,我的请求获取单个事件模型的次数是两次。

以下是我用来获取请求的函数,我也是对事件arg进行硬编码的。仅用于测试。

Api.service.ts

public get(path: string, params: URLSearchParams = new URLSearchParams()) : Observable<any> {
    return this.http.get(
        `${environment.api_url}${path}`,
        { headers: this.setHeaders(), search: params })
        .map(res => res.json())
        .share()
        .catch( (error: any) => {
            if(error.status === 401){
                this.router.navigate(['/login']);
                return Observable.throw(new Error(error.status));
            }
        });
}

Event.service.ts

getEvent(id: number)
{
    return this.apiService.get('/event/' + id);
}

EventComponent.ts

export class EventPageComponent implements OnInit
{
event: Event;

constructor(
    private eventServices: EventServices,
    private router: Router
){}

ngOnInit(){
    let id = 1;

    this.eventServices.getEvent(id).subscribe(
        event => {
            this.event = event;
            console.log(this.event);
        },
        err => console.log('Could not load Event with id: ' + id)
    );
}

}

0 个答案:

没有答案