rest - How to return the result received from http request inside http request in ionic 2 framework using angular 2.My code is following -
getusabletoken() { let platformname = "abc"; let platformid = "123123"; return this.http.get('http://localhost:17001/platform/' + platformid + '/key?name=' + platformname).map(res => res.json()) .subscribe(data => { let secretkey = data.payload.platforminfo.key; return this.http.get('http://localhost:17001/platform/' + platformid + '/token?name=' + platformname + '&key=' + secretkey).map(res => res.json()) .subscribe(data => { return data.payload.token; }, err => { console.log(err); }); }, err => { console.log(err); }); } in code want return data.payload.token. how that? appreciated.
what make use of flatmap (mergemap) here, since second call dependent on result of first call, this:
import 'rxjs/add/operator/mergemap'; //.... getusabletoken() { return this.http.get('url') .map(data => { let secretkey = data.json().payload.platforminfo.key return secretkey; }) // 'key' parameter need second call .flatmap(key => this.http.get('url').map(data => { let token = data.json().payload.token; return token; })) } and subscribe token:
dosomething() { this.myservice.getusabletoken() .subscribe(token => console.log(token)) }
Comments
Post a Comment