I'm building a blog site w/Express, and using Q for the first time, and I was hoping to tap into the knowledge of veteran Q users.

I'm making one request to my DB to load post data, and another request that hits the Instagram API (unless it's already cached) and returns some json. So I have something like:

`Q.all([blogPromise, instagramPromise]).then(good, bad);`

The issue/question I'm running into is that say my request fails in my `instagramPromise` and I call `deferred.reject()`, my `bad` function is called. However, I still want to load the page with the blog post data if my `blogPromise` resolves, but it seems I'm not getting any arguments when my `bad` function is called (e.g. I don't get the blogPromise data that was successfully fetched). 

Given this, it seems my only option is to not call `deferred.reject()` when I have an error, and instead call `deferred.resolve()` with something like `deferred.resolve({error: true})` which I can then use in my `good` function to handle what gets passed to my view.

So my question is, does this sound right? Is this not a misuse of Q using `resolve` when in fact I'm running into an error and should be using `reject`? Or am I missing something with Q that would allow a better approach?