¿Cómo devuelvo la respuesta de una llamada Observable / http / async en angular?

Tengo un servicio que devuelve un observable que hace una solicitud http a mi servidor y obtiene los datos. Quiero usar estos datos pero siempre termino obteniendoundefined. ¿Cuál es el problema?

Servicio:

@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!
  }
}

Respuestas a la pregunta(8)

Su respuesta a la pregunta