2016-05-23 2 views
0

setInterval関数を配列に格納しておき、後で新しい変数に渡そうとしています。 setIntervalオブジェクトthis.clock.callbackで探しsetIntervalとコールバックを新しい変数に渡す

this.clock = setInterval(() => { 
    this.duration = this.timer.formatTime(this.userTime) 
    if (this.duration === '00:00:00') { 
    clearInterval(this.clock); 
    this.timer.reset(); 
    } 
}, 1) 

はClosure._thisオブジェクトを持っていますが、それは、<function scope>フィールドであるので、私はそれにアクセスする方法がわかりません。

setInterval関数の現在の内容を新しい変数に渡す方法はありますか?以下のように...

this.newClock = this.clock 

this.newClock

this.clockと同じカウントダウン時間を持つことになります。

P.S.私はstackoverflowに投稿するのが初めてです。より良い質問をするためのヒントや推奨事項は非常に高く評価されます。

+0

'setInterval'は、その間隔のインターバルIDを返します。あなたはアクセス機能を得るためにそれを使うことはできません。あなたができることは、名前付き関数を作成し、 'setInterval'を呼び出してそれを呼び出すことです。 'function blah(){..}; setInterval(blah、1); ' – IMTheNachoMan

+0

@IMTheNachoManこれを回答として投稿します。 – Barmar

+0

@Barmar:ありがとう。と申し訳ありませんが試合。 – IMTheNachoMan

答えて

2

setIntervalは、その間隔のインターバルIDを返します。あなたはアクセス機能を得るためにそれを使うことはできません。あなたができることは、名前付き関数を作成し、setIntervalにそれを呼び出すことです。そして、あなたはsetIntervalの外でその機能を呼び出すことができます。

function blah() 
{ 
} 

setInterval(blah, 1); 

blah(); 
+1

恐ろしい、助けてくれてありがとう。 –

関連する問題