Pending request with promise resolver/rejector.
Reject the promise with an error
Resolve the promise with the response value
Timeout handle to cancel the request
Pending request with promise resolver/rejector.