在等待超时时执行代码

时间:2016-11-01 13:16:05

标签: javascript

我希望在经过一段时间之前创建一个 localstorage对象,并在经过一段时间后将其销毁。我打算使用setTimeout方法:

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

我想使用if语句尝试这样做:

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 个答案:

答案 0 :(得分:0)

我真的不明白你的例子中的时间,但希望你可以使用下面的例子:

这将在1秒后调用setStorage,然后在3秒后调用remStorage。

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);