When I call this function it returns a result immediately instead of delaying to after the third promise. What can I do??
getBlogs: function(blogId){
    var blogcomments = new Entities.BlogCommentCollection();
    var blogs = new Entities.BlogCollection();
    var defera = $.Deferred();
    var deferb = $.Deferred();
    var deferc = $.Deferred();
    var model;
    //alert(model);
    $.get("/lightning/presentation/blogs", function(val){
      defera.resolve(val);
    });
    var promisea = defera.promise();
    $.when(promisea).done(function(val){
      var models = initializeBlogs(JSON.parse(val));
      blogs.reset(models);
      model = blogs.at(blogId);
      //alert(JSON.stringify(model));
      $.get("/lightning/presentation/blogs/?blogId=" + blogId, function(full){
        deferb.resolve(full);            
      });
    });
    var promiseb = deferb.promise();
    $.when(promiseb).done(function(full){
      model.set('full', full);
      //alert(JSON.stringify(model));
      $.get("/lightning/presentation/blogs/?comments=" + blogId, function(res){
        deferc.resolve(res);             
      });
    });
    var promisec = deferc.promise();
    $.when(promisec).done(function(res){
      if(res.length === 0){
        blogcomments.reset();
      }else{
        //alert(res)
        var models = initializeBlogComments(JSON.parse(res));
        blogcomments.reset(models);
        model.set('comments', blogcomments)
        //return model;
      }
      currentBlog = model;
      alert(JSON.stringify(model));
      //return model;
    });
    //alert(JSON.stringify(model));
    return model;
  },
 
     
    