私はkriskowal qの実装を使用しています。データの配列を持つ連続した約束チェーン、約束を解決する方法?
私はIDを持つデータオブジェクトの配列を持っています。
レートリミットのルールを1秒あたり1リクエストに設定しているため、これらを連続して約束する必要があります。
しかし、私は約束を解消するのに苦労しています。私。最初のビデオでは、addVideo、getInfo、retryIfNeededと1秒の遅延の出力がありますが、それ以降のビデオでは表示されません。
私がやりたいことは、遅延の後に、そのチェーンを解決して、次の約束事のリストが2番目のビデオIDに続くことです。
どうすればよいですか?私は間違って何をしていますか?あなたが何かを解決する必要はありませんhttp://jsfiddle.net/gpa7ym18/4
var promiseChain = data.items.reduce(function(promise, video) {
video.type = type;
return promise
.then(addVideo)
.then(getInfo)
.then(retryIfNeeded)
.then(function() {
return q.delay(1000)
.done(function() {
NEED TO RESOLVE HERE but there is NO Defered object
to set defer.resolve. How do I resolve this promise chain?
});
});
}, q.resolve(data.items[0]));
ちょうどいつものように「復帰」ですか?しかし、 'それは'決して 'done'を使用しないでください。 – Bergi
しかし、私は最後の.thenと.doneを削除しようとしましたが、解決しませんでした –
q.resolve(data.items [0])を使用しているためです –