reject deferred if error occurs, only resolve on request end