2017-03-08 63 views
0

我想,使HTTP调用到angular2正确的做法,从使

到目前为止,我已经得到了回报承诺的方法HTTP调用(Angular2)方法返回一个承诺

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)); 

    }); 

    } 

这是正确的做法吗?

+0

你为什么不只是'返回this.http.post(...) .MAP(...)。toPromise()'?或者从'.map'返回observable? – jonrsharpe

回答

1

你可以这样说:

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); 
    ;})