Optimization of AngularJS function to load images on the page
Personally, I would create a 4th service that returns all data in 1 go and be done with it.


Other than, I would return the array in the first block immediately. Secondly, I would probably go for object notation for something that simple:

function datacontext(common) {
    return {
        getAllTagsByHttp: function getAllTagsByHttp() {
          return common.$http.get('/api/TagApi/alltags');         
        },
        getBlogPostsByHttp: function getBlogPostsByHttp() {
          return common.$http.get('/api/BlogPostApi/AllBlogPosts');
        },
        getAllUserPicByHttp:     function getAllUserPicByHttp() {
          return common.$http.get('/api/BlogPostApi/AllUserPic');
        }
    };
}


Furthemore, for this part: The problem i am having is that it takes quite a few seconds for the second function to receive the data and an complete its operation. You really should use the Chrome Developer Tools (or their Firefox counterpart) and figure out what is taking so long ? ( Latency, server side processing, or JavaScript processing ). If the problem is on the server side then it makes even more sense to have only 1 API call (that's what Netflix does)