javascript - Backbone fetch、promises 和 if else。他们是如何工作的?

标签 javascript jquery backbone.js promise

我有一个问题,我不确定如何巧妙地解决我的 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/

相关文章:

jquery - 使用 touchstart 关闭 iphone/ipad 上的 jQuery Tools 工具提示

Facebook OG 被 BackboneJS 网站重定向到索引页面

没有 <script> 标签的 JavaScript 代码注入(inject)

javascript - Backbone Coffeescript保存成功功能

javascript - 每2秒从ajax获取数据并显示

javascript - 我怎样才能知道删除键被按下的确切段落?

javascript - Backbone.js 在 View 提交事件上执行模型获取

javascript - 按名字排序在 JavaScript 中不起作用

javascript - ReactJS 库在更改 rollup.config.js 的 commonjs 函数时在导出它的项目中给出 "ReferenceError: __extends is not defined"

javascript - AngularJs 动态更新 $http 方法的 URL