Porque ao colocar a chamada ao serviço dentro do resolve não mais foi necessário chamar o método subscribe?
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<Photo[]>{
const userName = route.params.userName;
return this.service.listFromUser(userName);
//.subscribe(photos => this.photos = photos);
}