promise オブジェクトの配列を配列の promise オブジェクトに変換する方法はありますか? $q.all(promises)
AngularJSのように動作するものを探しています。
これが私のコードです:
var getPages = function(courses) {
var courses_promises = courses.filter(function(item) {
return item.courses[0].home_link;
}).map(function(item) {
deferred = $.Deferred();
item["class_link"] = item.courses[0].home_link;
item["home_link"] = item["class_link"] + "class/index";
$.get(item.home_link)
.then(function(response) {
item["html"] = response;
deferred.resolve(item);
});
return deferred.promise();
});
return $.when.apply($, courses_promises);
};
関数が、値の配列で解決される単一のプロミスを返すようにしますgetPages
。各値は、promise 配列の同じインデックスにあるプロミスに対応します。Promise のいずれかが拒否で解決された場合、この結果の Promise は同じ拒否で解決されます。
そして、私は使用します
getPages.then(getEvents)
どこでgetEvents
によって解決された要素を持つ配列を期待する別の関数getPages
です。
誰でも私を助けることができますか?ありがとうございました!