Como faço para retornar a resposta de uma chamada Observable / http / async em angular?

Eu tenho um serviço que retorna um observável que faz uma solicitação http ao meu servidor e obtém os dados. Eu quero usar esses dados, mas sempre acabo recebendoundefined. Qual é o problema?

Serviço:

@Injectable()
export class EventService {

  constructor(private http: Http) { }

  getEventList(): Observable<any>{
    let headers = new Headers({ 'Content-Type': 'application/json' });
    let options = new RequestOptions({ headers: headers });

    return this.http.get("http://localhost:9999/events/get", options)
                .map((res)=> res.json())
                .catch((err)=> err)
  }
}

Componente:

@Component({...})
export class EventComponent {

  myEvents: any;

  constructor( private es: EventService ) { }

  ngOnInit(){
    this.es.getEventList()
        .subscribe((response)=>{
            this.myEvents = response;
        });

    console.log(this.myEvents); //This prints undefined!
  }
}

questionAnswers(8)

yourAnswerToTheQuestion