2017-06-19 59 views
0

我是Angular的新手,我通过使用.map函数(在类之外)调用WebService(REST)。我自动获得一个对象“响应”,这很好。但是现在,我怎样才能将一个在我的方法(和我的类)内的值发送到类之外的函数?该值与WebService响应无关。如何将另一个值从“类”传递给“函数”

@Injectable() 
export class MyClass { 

    getEvents(myValue: string): Observable<CalendarEvent[]> { 

    this.http 
     .get("url of webservice") 
     .map(mapEvents) <- how can I put "myValue" here 
     .catch(handleError); 
} 
} 

function mapEvents(response: Response): CalendarEvent[] { 
    return response.json().map(toEvent); 
} 

function toEvent(event: any): CalendarEvent { 
    const s_event = <CalendarEvent>(
    { 
     value : myValue; <- to get "myValue" here? 
    }); 
    return s_event; 
} 
+1

你不能,这是不可那里。你必须明确地通过它,例如'.map(event => mapEvents(event,myValue))'。 – jonrsharpe

+0

问题不明确 – Ced

回答

1

只使用arrow function

@Injectable() 
export class MyClass { 

    getEvents(myValue: string): Observable<CalendarEvent[]> { 

    this.http 
     .get("url of webservice") 
     .map(d => mapEvents(d, myValue)) <- put "myValue" here 
     .catch(handleError); 
} 
} 

function mapEvents(response: Response, myValue): CalendarEvent[] { 
    return response.json().map(e => toEvent(e, myValue)); 
} 

function toEvent(event: any, myValue): CalendarEvent { 
    const s_event = <CalendarEvent>(
    { 
     value : myValue; <- to get "myValue" her ! 
    }); 
    return s_event; 
} 
相关问题