2017-03-08 60 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); 
    ;})