angular - A function whose declared type is neither 'void' nor 'any' must return a value -


in angular2 app, have service send request url.

here service:

    import {http} '@angular/http';     import {observable} 'rxjs/observable';     import 'rxjs/add/operator/map';     import {injectable} '@angular/core';     import {gallery} './gallery';      @injectable()     export class instagramservice{          constructor(private _http:http){          }          getgallery(username: string) : observable<gallery> {             var result=this._http.get("https://www.instagram.com/"+username+"/media/").map(res => res.json());  console.log(result);         return result;         }      } 

i have defined return type observable<gallery>, complains that:

a function declared type neither 'void' nor 'any' must return value 

what going wrong code?

if declare return type, why not return anything?

usually want in case.

getgallery(username: string) : observable<gallery> {      return this._http.get("https://www.instagram.com/"+username+"/media/").map(res => res.json()); } 

var result doesn't expect anyway because _http.get(...) returns observable not value.

the caller of getgallery() can subscribe notified when value arrives.

instagramservice.getgallery.subscribe((result) => this.gallerydata = result); 

when value arrives (result) => this.gallerydata = result called , result assigned gallerydata of current component or service.


Comments