对于我的应用,有匹配和时间表。我的想法很简单,但是我无法找到一种方法来使用angularjs来实现它的asyn性质。
对于比赛,有一个所谓的[a,b,c]三个比赛作为例子。 对于时间表,有三个以上的资源,如[1,2,4,5,6,7]。
我想将匹配与可用的时间表配对,以便[a1,b2,c4]具有唯一的配对。
我只是想知道为什么以下代码不起作用:
for (var u in matches){
var matchDefer = $q.defer();
var matchPromise = matchDefer.promise;
var match = matches[u]
var schedule = schedules[u];
Matches.get({matchId: match._id}, function(matchResponse){
console.info('schedule', schedule);
matchResponse.AddSchedule(schedule, matchDefer);
});
matchPromise.then(function(result){
console.info('result', result);
}, function(reason){
console.info('reason', reason);
});
}
以下代码在匹配服务中:
Matches.prototype.AddSchedule = function(schedule, defer) {
this.schedule = schedule._id;
this.$update(function(matchResponse){
schedule.match = matchResponse._id;
schedule.$update(function(scheduleResponse){
defer.resolve(scheduleResponse._id);
});
});
任何人都可以帮我,甚至只是给我一些提示,谢谢!