I'm not really sure what is the difference between next:
$(document).ready(function() {
function resolveAtOnce() {
var d = $.Deferred();
// return d.resolve("Ok 1").promise(); // works
return d.resolve("Ok 2"); // works also
//d.resolve("Ok 3");
return d.promise();
}
resolveAtOnce().done(function(response) {
console.log("Resolved with response: '" + response + "'");
}).fail(function(error) {
console.log("Resolved with response: '" + error + "'");
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
Is there any difference between all 3 approaches? Everything seems to work. Running example: https://jsfiddle.net/u819mv7e/.