2016-10-18 13 views
2

ObservableとResponseの依存関係をサービスに実装せずに単に(angular2の)データをフェッチする方法ですか?私はそれが1つの簡単な要求に対して冗長であることを発見したAngular2 http.get without Rxjs

答えて

3

いいえ、あなたが純粋なJavascriptで行っても、コールバックルートに行く必要があります。ちょうどObservableの実装は、よりクリーンで扱いやすい方法です。

あなたはが同期要求を行うことができますが、Javascriptが唯一の1つのスレッドで実行されるため、それを強くお勧めしていますので、あなたは、リクエストが終了するまでページ全体をブロックします:

// DON'T TRY THIS AT HOME OR PRODUCTION OR ANYWHERE ELSE 
let request = new XMLHttpRequest(); 
request.open("GET", theUrl, false); // false for synchronous request 
request.send(null); 
let response = JSON.parse(request.responseText); 
0

Angular2は、HTTPのための約束を使用することができますもしあなたがRxjsよりも好きなら。

return this.http.get("/some/url") 
     .toPromise(); 

これはしかしsychronousではありません、あなたは結果を得るためにチェーンに.then(response)方法が必要になります。

関連する問題