HTTPリクエストの応答に問題があります。角2です。 私は "。サブスクライバ"を使用してHTTPリクエストの応答を取得しています。非同期AJAX応答の問題
NewJobDetailsComponent.ts:
ngOnInit() {
this.masterData = this.masterDataS.getMasterData(["designations"]);
//code breaking at below line
this.designations = this.masterData["designations"];
}
MasterDataS.ts:後
は私が書いたコードで上記のコードで
private masterData = {};
private baseUrl = "some URL";
getMasterData(keys) {
let missingData = [];
for (let key of keys) {
this.baseAjaxService.doPost(this.baseUrl, missingData)
.subscribe(data => {
this.masterData[key] = data[key];
this.sessionStorage.setValue(key, data[key]);
});
}
return this.masterData;
}
、私はいくつかのフェッチサーバーからデータを取得した後、結果をthis.designationsに代入する必要があります。
サービスを一般的に使用できるようにするには、MasterDataS.tsのこの要求に対して.subscriberを使用する必要があります。したがって、私はNewJobDetailsComponent.tsにサブスクライバを書くことができません。
しかし、NewJobDetailsComponent.tsのコードはHTTPリクエストの結果によって異なります。どのようにすれば、HTTPの結果を取得した後で、以下のステートメントだけが実行されるように、コードを同期的に書くことができますか?
このような種類の問題は、ほとんどの場合、例が変更されるだけです。
[質問のタイトルにタグを入れないでください](https://stackoverflow.com/help/tagging)の – Liam
可能な重複[私は返すにはどうすればよいです非同期呼び出しからの応答?](https://stackoverflow.com/questイオン/ 14220321 /私の返信 - 非 - 非同期呼び出しからの返信) – Liam
@Liam:私はAngular2でperticularlyこの問題を抱えています。上のリンクには角2に関連するものはありません。 – Ricks