我有一个问题,我不确定如何巧妙地解决我的 Backbone 应用程序。我有一个 View 需要获取 2 个或 3 个不同的模型。
我有一个个人资料 View ,向客户显示他的任务和个人资料信息,但是当教练访问它时,我还想加载教练模型以使教练能够切换内容。
promise 如何处理 if else 语句?我可以按照我编写的方式编写代码吗?它能以这种方式工作吗?
var tasks = new App.Task.Collections.Tasks();
var coaches = new App.Coach.Collections.Coaches();
var user = new App.User.Models.User();
if(App.User.Models.currentUser.isCoach()){
var userPromise = user.fetch();
var coachPromise = coaches.fetch();
var tasksPromise = tasks.fetch({
data: {
userId: userdId
}
});
$.when(userPromise, coachPromise, tasksPromise).then(function(){
App.Layout.page.show(layout);
});
}else{
var userPromise = user.fetch();
var tasksPromise = tasks.fetch({
data: {
userId: userdId
}
});
$.when(userPromise, tasksPromise).then(function(){
App.Layout.page.show(layout);
});
}
promise 如何与 if else 语句一起使用?
最佳答案
您的代码看起来是正确的。代码中的 if/else 语句不会影响所有 promise ,因为所有 .fetch()
调用都在其相应的 block 中。请记住将所有这些集合传递给您正在显示的布局。
关于javascript - Backbone fetch、promises 和 if else。他们是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18330325/