I am trying to take advantage of observables in angular2 and got confused on why should i use map() over subscribe().
Suppose i am getting values from a webApi, like this
  this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
Now using subscribe(success, error, complete) I can get all the values on the success callback and I can return the values on the complete callback. If I can do all theses functionalities then what is the need of map()? Does it give any advantage?
In short, why one should write like this:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
    .map(r=>{})
    .subscribe(value => {
    }, error => error, () => {
});
when they can simply write this without the map function:
this.http.get('http://172.17.40.41:8089/api/Master/GetAllCountry')
    .subscribe(value => {        
    }, error => error, () => {           
});
 
     
     
     
     
     
     
    