Don't create redundant promises

Just use promise chaining

---

Also maybe you should reject with an `Error` instead of with the response object?