Странно, что никто так и не ответил тут. Задача на самом деле очень распространенная. Если топикстартеру ещё актульно, то подскажу. Тебе нужно изучить тему deferred-объектов в jQuery. Любой AJAX-запрос в последних версиях является таким объектом. Такие же объекты можно создавать и для своих нужд. Не буду вдаваться в подробности - в сети куча уже информации на эту тему. Конкретно в твоём случае решение таково:
Раз Model::fetch возвращает deferred-объект, значит делаем так
initialize: function() {
var self = this;
$.when(this.model1.fetch(), this.model2.fetch())
.done(function() {
// Здесь код в случае успешного выполнения всех запросов
self.render();
})
.fail(function() {
// Здесь код, если произошел сбой
});
}
Здесь метод $.when() ждет когда будут выполнены все deferred объекты. Их может быть сколько угодно:
$.when(this.model1.fetch(), this.model2.fetch(), ...., this.modelN.fetch())