Defer Deferred object returns promise and public resolve and reject methods Deferred object's promise can be resolved or rejected via public methods @returns {{resolve, reject, promise}}