Ваша первая проблема заключается в том, что вы вызываете append
немедленно, а не передаете функцию, которая будет вызывать append.
openWindowDelayedPool.add($('.container').append('<p>Test</p>'));
должен быть
openWindowDelayedPool.add(function(){
$('.container').append('<p>Test</p>')
});
Даже когда вы фиксируете, что это не будет работать должным образом, однако, первый будет работать, но затем все последующие вызовы будут просто найти, что isRunning
верно и не выполнить.
Кроме того, как уже упоминалось @FelixKing в комментариях:
setTimeout(function(val){
неверен. Вы не хотите передавать параметр этой функции, просто используйте val внутри него.
setTimeout(function(){
'openWindowDelayedPool.add (appendStuff())' 'будем называть appendStuff' немедленно и передать возвращаемое значение' openWindowDelayedPool.add'. Вместо этого вы хотите передать функцию, а не вызывать ее. Однако у вас должны быть другие проблемы с вашим кодом, потому что я также получаю сообщение об ошибке * Uncaught TypeError: Невозможно вызвать метод «вызов» неопределенного * (это в вашем обратном вызове 'setTimeout'. Параметр затеняет другой« val »). Но даже если эти вещи будут исправлены, это не сработает. Общая логика этой функции не кажется правильной. –