Jquery deferred Promise -> deferred is a promise BUT a custom promise that you can (need) to resolve or reject manually!

Here I demonstrate the use of deferred objects, introduced in jQuery 1.5 
The Deferred object, introduced in jQuery 1.5, is a chainable utility object created by calling the jQuery.Deferred() method. It can register multiple callbacks into callback queues, invoke callback queues, and relay the success or failure state of any synchronous or asynchronous function.
The Deferred object is chainable, similar to the way a jQuery object is chainable, but it has its own methods. After creating a Deferred object, you can use any of the methods below by either chaining directly from the object creation or saving the object in a variable and invoking one or more methods on that variable.

GOOD WATCH for example1 :
https://www.youtube.com/watch?v=j8O3roujDTg
And
https://www.youtube.com/watch?v=82CqnUhTFLo