私の主な目標は、カウンターがトリガーされる前にカウンターを遅らせることです。
'n' を '0' にカウントダウンしてからイベントを発生させるタイムアウトを想像してみてください。ただし、何かが発生するたびに非同期に 'n' にリセットできます。
$qで「約束」を使用してこれを達成しようとしました。
私は、まったく新しい遅延をチェーンする内部で、タイムアウトを使用して動的に新しい約束を追加しようとしていました。
しかし、この目標を達成する前に、私は新しい約束を連鎖させることさえできませんでした.
例:
var d1 = $q.defer();
var d2 = $q.defer();
d1.promise.then(function(data) {
return 'd1' + data;
});
d2.promise.then(function(data) {
return 'd2' + data;
});
var t = $q.all([d1.promise]);
t.then(function(data) {
console.log(data);
});
$timeout(function()
{
d1.resolve("1000");
}, 1000);
$timeout(function()
{
t.then(function() {
d2.resolve("800");
});
}, 800);
["1000", "800"] ではなく ["1000"] のみを出力します。
これまでの私の検索:
スタックオーバーフローは私を助けませんでした。
angular-promise-trackerこのコードを理解できません。どのように動作するかは、まさに私が必要としているものです。しかし、それは別のもののために作られています。