2016-12-08 4 views
0

このコードでは、jsonファイルを非同期でロードし、結果を_values変数に挿入します。結果を変数に入れるのではなく、戻り値。 Angular2

private getValue(name) { 
this.http.get('http://localhost:8080/getValue/' + name) 
    .subscribe(res => this._values = res.json()); 
} 

普通のJS関数のように、1つの値を返すだけです。結果を変数の中に格納したくない。関数が値を返すようにしたい。

ありがとうございます。

+0

でこのメソッドを呼び出します... – epascarello

答えて

0

これを試してください。

private getValue(name) : any { 
    return this.http.get('http://localhost:8080/getValue/' + name) 
        .map(res => res.json()); 
} 

OR:

import 'rxjs/add/operator/toPromise'; 

private getValue(name) : Promise<any>{ 
     return this.http.get('http://localhost:8080/getValue/' + name) 
         .toPromise() 
         .then(response => response.json()); 
} 

そして、あなたは、非同期メソッドから戻ることはできません

Promise<any> myvar = getValue(name); 
関連する問題