我尝试在某个条件变为true后设置localStorage键值,但等待2秒才能更新localStorage键值
这是我想要做的但是它会抛出异常并且当它试图设置localStorage值时
if(tempArray.length <= 0){
setTimeout(function(){
this.storage.set(achkey,1);
},2000);
}
异常说变量achkey undefined虽然我可以在setTimeout函数之外使用它。如何正确实现延迟和设置值?我正在使用使用javascript的ImpactJS引擎。我也在使用localStorage的插件。
答案 0 :(得分:1)
您需要缓存this
。输入setTimeout
的匿名函数后,this
现在引用您刚刚声明的函数的范围。
if(tempArray.length <= 0){
var self = this; // Cache the current scope's `this`
setTimeout(function(){
self.storage.set(achkey,1);
},2000);
}