Edit in JSFiddle

$( function() {
  $('#hide-link').click(hideLink);
});

var hideStatus = '';

function hideLink() {
    if (hideStatus !== 'in-progress') {
        hideStatus = 'in-progress';  
        updateStatus(hideStatus);
        $('#hide-link').hide( 2000 ).promise()
        .done(function() { 
            hideStatus = 'finished';
            updateStatus(hideStatus);
        });
    }
}

function updateStatus(status) {
    $('#hide-status').text('Link hiding ' + status);
}
<p>
  <a href='#' id='hide-link'>Click me to hide</a>
</p>
<p>
  <span id='hide-status'></span>
</p>