I assume that you run a loop that periodically checks for a selector:
var dfd = $.Deferred();
var checkSelector = setInterval(function () {
if ($("#selector").length) {
dfd.resolve();
clearInterval(checkSelector);
}
}, 1000);
dfd.done(function () {
console.log('it has been added');
});
Please note that it is $.whennot required; you can just use .doneon the deferred object directly.