2012-03-11 5 views
0

で作成する機能プールラインだから私は、このようなcode that simulates function lineている(fn1delayfn2delay、... fnNは - 少し眠るというようにラインから削除し、関数を呼び出します)。Javascriptを:遅れ

私は奇妙な問題に直面しています - 私は遅れが見えません。なぜ、私のコードで何が間違っていますか?

+0

'openWindowDelayedPool.add(appendStuffは())' 'appendStuff'直ちに呼び出してopenWindowDelayedPool.add''へ戻り値を通過します。代わりに関数を渡し、それを呼び出すのではありません。 Uncaught TypeError:未定義*のメソッド 'call'を呼び出せません(これはあなたの 'setTimeout'コールバックにあり、パラメータは他の' val'をシャドーイングしています)。しかし、これらのことが修正されても、うまく動作しません。この機能の全体的なロジックは正しいとは思われません。 –

答えて

1

最初の問題は、追加を呼び出す関数を渡すのではなく、すぐにappendを呼び出すことです。あなたはしかし、適切に動作するつもりはない、という修正一度も

openWindowDelayedPool.add($('.container').append('<p>Test</p>')); 

openWindowDelayedPool.add(function(){ 
    $('.container').append('<p>Test</p>') 
}); 

する必要があり、最初は実行されますが、その後のすべての後続の呼び出しは、単に実行isRunningが真であることを発見しません。また

、コメントで@FelixKingで述べたように:

setTimeout(function(val){ 

が正しくありません。この関数にパラメータを渡したくないので、その中でvalを使うだけです。

setTimeout(function(){ 
+0

私は[修正](http://jsfiddle.net/UcsuB/2/)しようとしましたが、6つではなく1つの "テスト"しかありません。 – myWallJSON

+0

Yey - got it =)[ここ](http://jsfiddle.net/UcsuB/3/) – myWallJSON

関連する問題