を約束:チェーンAJAX要求 - 角度2とES2015は、私が何か行うことができアンギュラ1では
を(擬似コード)
/* part 1 */
function myFn1(){
var x = $http.get('myurl');
x.then(
() => {}, // do something here
() => {} // show error here
);
return x;
}
/* part 2 */
myFn1().then(()=>{
$q.all($http.get('url'), $http.get('url2'), $http.get('url3'))
.then(()=>{ /* do something */ });
});
私は角2
let myFn =() => {
return new Promise((res, rej) => {
this.http.get('myurl')
.subscribe((success) => {
// do something here
res(success);
}, (error) => {
// show error here
rej(error);
});
});
}
でパート1を複製する方法を知っています
しかし、第2の例のコードは、私にとっては、はるかに醜くて読みにくいようです。
質問1:より良い/より良い方法で対応できますか?
そのロジックに続いて、私はGETリクエスト(パート2)をすべて約束し、それをチェーンすることができますが、これをもう一度やり直すことはできません。
質問2:約束どおりに1つのリクエストをラッピングせずに角度2でリクエストをうまくつなげる方法。
は、私はそれを達成するために、角のいずれかの特定のバージョンが必要ですか?現在、コンパイラは ''toPromise' 'が型' Observable ''に存在せず、現在rc2にあります –
あなたはtoPromise演算子 'import' rxjs/add/operator/toPromise'をインポートするだけです。 – dfsq
それは考えました。ありがとう。 –