JSFiddle - React, Tailwind, and code Playground

HTML

<input type="button"/>

JavaScript

var handleNextPressedDeferred = $.Deferred();

$('input:button').live('click', function() {
    console.log('resolving');
    return handleNextPressedDeferred.resolve();
});

/*
handleNextPressedDeferred.pipe(function() {
    console.log('rejecting');
    return $.Deferred().reject();
});

var handleNextPressedPromise = handleNextPressedDeferred.promise();
*/

var handleNextPressedPromise = handleNextPressedDeferred.pipe(function() {
    console.log('rejecting');
    return $.Deferred().reject();
}).promise();


handleNextPressedPromise.done(function() {
    console.log('done');
});
handleNextPressedPromise.then(function() {
    console.log('then');
});
handleNextPressedPromise.fail(function() {
    console.log('fail');
});