GET呼び出しによって返された番号を検索します私が望むように。 Angular 4を使用して構築されたフロントエンド側では、バックエンドから戻ってくる純粋な整数を取得できません。私が何を試しても、私はそれを解決することができませんでした。角度4は、私は次のように私は私のクエリを書いている中で、私の春ブートバックエンドのアプリを持っている
getCount() {
return this.http.get(this.actionUrl + this.param,{headers: DataService.getHeaders()})
.subscribe(response => {
console.log(response);
console.log(response.json());
this.countResult = response.json();
//return this.countResult;
return response.json();
})
}
(私はgetCount(): number{...}
としても、それを戻り値を与えてみましたし、私は、コール内で割り当てる変数countResult
、ない成功を返された。) これは私のサービスクラス内のメソッドです。私はそれを公共の変数this.countResult
に割り当てて、別のクラスからそれに到達しようとしました。また、私が必要とする純粋な整数であるresponse.json()._body;
を返します。私はコールが完全に正しく行われていることを保証します。私はそれを複数回テストしました。
しかし、私は常に内部に大きなものが含まれていないSubscriberオブジェクトを取得します。
var count = this.dataService.getCountExternalCvs();
console.log(count);
そして、私はcount
を印刷するとき、それは上記のように、加入者のOBJ:次のように
は私がサービスを呼び出します。
レスポンスをPromiseにしたくないので、私は.subscribe()
を使用しなければなりませんでした。私はその値がそのまま必要です。ここで
var count = this.dataService.getCountExternalCvs();
により取得した加入者対象ですが、私は加入者OBJを取り除くことができませんでした真の応答を取り出すことができます。
サービスは購読してはいけません。 Observableを返さなければなりません。サービスを呼び出すコンポーネントは、サブスクリプションを行い、イベントが発生したときにその状態を設定するコンポーネントです。非同期呼び出しを同期呼び出しに変換することはできません。それは不可能です。 –