Javascript 从进行http调用的方法返回承诺的正确方法(Angular2)
我希望使http调用返回angular2中的承诺的方法 到目前为止,我已经Javascript 从进行http调用的方法返回承诺的正确方法(Angular2),javascript,angular,rxjs,Javascript,Angular,Rxjs,我希望使http调用返回angular2中的承诺的方法 到目前为止,我已经 decisionOnRequestToJoinGroup(payload) { return new Promise((resolve, reject) => { this.http.post(url, JSON.stringify(payload), {'headers': contentHeader}) .map(res => res.json()) .toPromise(
decisionOnRequestToJoinGroup(payload) {
return new Promise((resolve, reject) => {
this.http.post(url, JSON.stringify(payload), {'headers': contentHeader})
.map(res => res.json())
.toPromise()
.then(response => resolve(response))
.catch(err => reject(err));
});
}
这是正确的方法吗?您可以这样做:
decisionOnRequestToJoinGroup(payload) {
return this.http.post(url, JSON.stringify(payload), {'headers': contentHeader})
.map(res => res.json())
.toPromise();
}
this.decisionOnRequestToJoinGroup(payload)
.then((response)=>{
console.log(response);
;})
然后,您可以这样解决它:
decisionOnRequestToJoinGroup(payload) {
return this.http.post(url, JSON.stringify(payload), {'headers': contentHeader})
.map(res => res.json())
.toPromise();
}
this.decisionOnRequestToJoinGroup(payload)
.then((response)=>{
console.log(response);
;})
为什么不直接返回这个.http.post…map…toPromise?或者从.map返回可观察的?