Javascript 主干木偶网.js需求框架不';不要等待集合填充

Javascript 主干木偶网.js需求框架不';不要等待集合填充,javascript,backbone.js,fetch,marionette,backbone.js-collections,Javascript,Backbone.js,Fetch,Marionette,Backbone.js Collections,我正在使用Backbone.marionete的请求-响应框架获取集合中的数据,然后将其响应到请求它的请求对象,但显然它不会等待集合填充。这是我的代码: 这是它请求数据的地方: // Module: Timeline, ListController var employees = App.request('employee:timeline'); 这里是我设置处理程序的地方: // Entities Module App.reqres.setHandler('employee:timeline

我正在使用Backbone.marionete的请求-响应框架获取集合中的数据,然后将其响应到请求它的请求对象,但显然它不会等待集合填充。这是我的代码:

这是它请求数据的地方:

// Module: Timeline, ListController
var employees = App.request('employee:timeline');
这里是我设置处理程序的地方:

// Entities Module
App.reqres.setHandler('employee:timeline', function() {
    return API.getEmployeesForTimeline();
});
下面是我的API函数:

getEmployeesForTimeline: function() {
    var employees = new Entities.EmployeeCollection();

    employees.fetch({
        success: function(employees) {
            returnEmployees(employees);
        }
    });

    function returnEmployees(employees) {
        // doing some things with employees collection
        return leaves;
    }
}

使用承诺将结果传回:

getEmployeesForTimeline: function() {
    var employees = new Entities.EmployeeCollection();
    var deferred = $.Deferred();
    employees.fetch({
        success: deferred.resolve
    });

    return deferred.promise();
}

// Entities Module: UNCHANGED
App.reqres.setHandler('employee:timeline', function() {
    return API.getEmployeesForTimeline();
});

//request data
var promise = App.request('employee:timeline');
promise.done(function(employees){
    //use employees
});

只是用同样的方法来解决它!谢谢!:)工作完美。