2016-11-01 4 views
0

ローカルストレージオブジェクトを作成して、一定時間が経過してから一定時間が経過する前に破棄したいとします。私は試してみて、それを行うためにif文を使用したいタイムアウトを待っている間にコードを実行する

setTimeout(function(){ 
    localStorage.setItem("myobject", "wedding"); 
}, 20000); 

:私は、setTimeoutメソッドを使用する予定

var notYetTimeout;  
if (notYetTimeout) { 
    //create the object before 20000 ms have elapsed 
    localStorage.setItem("myobject", "wedding"); 
} else { 
    //destroy object after 2000ms have elapsed 
    localStorage.removeItem("myobject"); 
} 

コードはちょうどあなたの目安を示しており、私はこのかどうかを知りたいですJavaScriptで可能ですか?

+1

は、あなただけの*今*それを保存し、その後、タイムアウトでそれを削除しませんか? – adeneo

+0

待っているときにコードを実行することは、私がやろうとしていることにおいて重要です。 –

+0

私はそれを得るのか分からない、何を待っているの? 'setTimeout'は非同期ですか? – adeneo

答えて

0

私は本当にあなたの例ではタイミングを理解していない、うまくいけば、あなたは以下の例のいくつかの使用を得ることができます。

これは、1秒後にsetStorageを呼び出して、その後remStorage 3秒を呼び出します。

function setStorage(key, val) { 
 
    //localStorage.setItem(key, val); 
 
    console.log('set storage ' + key); 
 
    setTimeout(function() { 
 
    remStorage('myobject'); 
 
    }, 3000); 
 
} 
 

 
function remStorage(key) { 
 
    //localStorage.removeItem(key); 
 
    console.log('removed storage ' + key); 
 
} 
 

 
setTimeout(function() { 
 
    setStorage('myobject', 'wedding'); 
 
}, 1000);

関連する問題