2017-10-26 7 views
0

私は小さな問題があります。 コードは次のようである:JavaScript seInterval/clearInterval

var myModule = (function() { 
var _fun = function() { 
    console.log('dummy content'); 
}; 

var _init = function() { 
    _fun(); 
}; 

return { 
    init: _init, 
} 

})(); 

setInterval(myModule.init, 1000); 

は右setInterval()clearInterval()に任意のオプションがあり、その後、再びそれを起動しますか? I seInterval()たびに、私はそれをクリアする必要がありますが、残念ながら、私はこれを行う方法を知らないので、私はこのような何かを達成したいと思います:/

に任意の提案を?

+0

setTimeoutメソッドを使用します。これはコールバックを1回だけ呼び出します。 – Wazner

+0

@ワーズナーしかし、私はこの機能を繰り返したいが、その直後にこの間隔をクリアしてもう一度やり直す必要がある。 ' – KinectUser

+0

あなたが何を意味するのか本当に理解できない。なぜあなたは間隔をクリアしたいのですか? – Wazner

答えて

0

例えば、単に変数にしたsetInterval戻り値を代入し、それにてclearIntervalを使用します。

var myVar = setInterval(myModule.init, 1000); 
clearInterval(myVar); 
0
var myModule = (function() { 
var _fun = function() { 
    console.log('dummy content'); 
}; 

var _init = function() { 
    _fun(); 
}; 

return { 
    init: _init, 
} 

})(); 

var interval = setInterval(myModule.init, 1000); // creates interval 
clearInterval(interval); // clears the interval created above 
+0

okですが、一度機能を実行してから間隔を空けて何もしません。私が達成したいのは、関数を実行し、関数が実行された後に毎回クリア・インターバルを行い、再びこれを行うことです。 – KinectUser

+0

関数内に 'clearInterval(interval)'を置くことができます。 –

+0

どういう意味ですか? – KinectUser

0

あなたの間隔は、それへの参照を保持設定した場合:

intervalObj = setInterval(yourCallbackFuction, INTERVAL_TIME); 

その後それをクリアする:

clearInterval(intervalObj);