SyntaxStudy
Sign Up
jQuery Intermediate 4 min read

Deferred.promise()

Deferred.promise()

Call .promise() on a Deferred to return a read-only view — callers can add callbacks but cannot resolve or reject it.

Example
function fetchData(url) {
  const dfd = $.Deferred();
  $.getJSON(url)
    .done(data => dfd.resolve(data))
    .fail(err  => dfd.reject(err));
  return dfd.promise(); // return promise, not deferred
}

fetchData("/api/users")
  .done(users => console.log(users))
  .fail(err   => console.error(err));
Pro Tip

Always return .promise() from functions — never expose the Deferred object itself.