角度1.5.8は、約束の配列をとり、最初に解決された約束の値で解決される約束を返します$q.race()
メソッドを実装します。
しかし、私は今のところ角度1.4で固まっており、$q.any
または$q.race
のような機能が必要です。
現在、私は.then()
の中のフラグを使用して、明らかに理想的でない約束の状態を「覚えている」。
var resolvedPromise = null;
promise1.then(function(data){
if(!resolvedPromise === 'promise2'){
resolvedPromise = 'promise1';
successcallback(data)
}
})
promise2.then(function(data){
if(!resolvedPromise === 'promise1'){
resolvedPromise = 'promise2';
successcallback(data)
}
})
質問
私はこれだけ一度に2つの約束のために働く必要がある:よりエレガントな解決策はの改善$q
-apiへのアクセスを持たずにあり
myRaceFkt(p1,p2)
.then(successcallback)
1.5.8?
正確に何をしたいですか? – charlietfl
オープンソースのメリットの1つ - 自分の実装を自分で見ることができます:https://github.com/angular/angular.js/blob/master/src/ng/q.js#L635 –
2つの約束 'q1 'と' q2'では、私は約束のうちの1つが解決すると直ちに関数を呼びたいと思います。 functioncallのパラメータは、約束が解決されたデータである必要があります。 –