2

バックボーン アプリでスマートに解決する方法がわからないという問題があります。2 つまたは 3 つの異なるモデルを取得する必要があるビューがあります。

顧客のタスクとプロファイル情報を表示するプロファイル ビューがありますが、コーチがアクセスしたときに、コーチ モデルを読み込んで、コーチが物事を切り替えることができるようにしたいと考えています。

if else ステートメントで promise はどのように動作しますか? 私が書いた方法でコードを書くことはできますか? そのように動作しますか?

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 ステートメントでどのように機能しますか?

4

2 に答える 2

1

あなたのコードは正しいようです。.fetch()対応するブロックにすべての呼び出しがあるため、コード内の if/else ステートメントはすべての約束に影響しません。これらすべてのコレクションを、表示しているレイアウトに渡すことを忘れないでください。

于 2013-08-20T16:06:41.513 に答える