上午,
我好像正在撞墙,问题是我希望弹出一个弹出窗口,一旦我的页面完成了GET和POST请求,因为弹出窗口中的数据需要正确。
无论如何,我试图使用带有两个推送项目的不同对象,但这仍然不起作用,弹出窗口在几秒钟后被触发。在网络选项卡中仍有大量请求仍在触发。任何帮助都会被嘲笑。
var promises = [];
_.each(models, _.bind(function (item) {
var filter = this.resources.get(item.id);
promises.push(filter.fetch(
{
success: function (model, response) {
var user = new UserModel();
promises.push(user.save());
}
}));
}, this));
$.when.apply($, promises1).then(_.bind(function () {
var popupForm = new PopUpView();
this.$el.append(popupForm.$el);
}, this));
答案 0 :(得分:1)
您似乎有一个拼写错误:而不是promises
,而是将promises1
传递给when()
。
旁注: _.each()
接受上下文作为第三个参数,不需要明确使用_.bind()
。
var promises = [];
_.each(models, function(item) {
var filter = this.resources.get(item.id);
promises.push(filter.fetch({
success: function(model, response) {
var user = new UserModel();
promises.push(user.save());
}
}));
}, this);
$.when.apply($, promises).then(_.bind(function() {
var popupForm = new PopUpView();
this.$el.append(popupForm.$el);
}, this));