title: .then() is not a function thrown when returning jQuery promises
body: <p>I have my <code>createUserData()</code> function:</p>
  
  <pre><code>createUserData(user) {
      const dfd = new $.Deferred();
      $.ajax({
          url: './awesome/user',
          type: 'POST',
          dataType: 'json',
          data: user,
      })
      .then((response) =&gt; {
          dfd.resolve(response);
      })
      .fail((xhr) =&gt; {
          // do stuff with errors
          dfd.reject(errorMsg);
      });
  
      return dfd.promise;
  }
  </code></pre>
  
  <p>And I want to be able to call it where ever...</p>
  
  <pre><code>createUserData(user).then((response) =&gt; {
      // do more stuff with that response
      // fire off other functions
      // But I can't get here...
  });
  </code></pre>
  
  <p>I get <code>createUserData(...).then() is not a function</code>. Am I using promises wrong? I don't understand, I'm returning the promise in my function. What am I doing wrong?</p>