2016-12-09 12 views
3

私はV8をC++とネイティブウィンドウと組み合わせて使用​​していますsetInterval functonは定義されていません。setInterval関数を定義する方法

ネイティブsetIntervalのようなものを作成するにはどうすればよいでしょうか? setTimeoutを想定し

+0

のJavaScript自体がイベントキューにタスクを追加する方法を提供していないので、あなたができるものがありません「純粋な」JavaScriptを使用します。たぶんV8 APIを見ていますか? –

+0

nodejsがタイマーを実装する方法を見てみてください。 –

+0

[pure JavaScriptのsetTimeout()およびsetInterval()の実装](http://stackoverflow.com/questions/35824722/implementing-settimeout-and-setinterval-in-pure-javascript)の重複が考えられます。参照[非同期javascriptはどのように解釈され、Node.jsで実行されますか?](http://stackoverflow.com/questions/36491385/how-is-asynchronous-javascript-interpreted-and-executed-in-node-js) – guest271314

答えて

1

が利用可能である(可能性はないが、あなたはそれを指定していない):

function setInterval(fn, t) { 
    let id = {}; 

    function wrapper() { 
    id.timeout = setTimeout(wrapper, t); 
    fn.apply(this, arguments); 
    } 

    id.timeout = setTimeout(wrapper, t); 

    return id; 
} 

function clearInterval(id) { 
    clearTimeout(id.timeout); 
} 
+0

'setTimeout'も定義されていませんが、試してくれてありがとう –

関連する問題