如果我在本地存储中有多个项目需要迭代并执行某些操作,我知道此代码将无法跳过备用项目
for (var i = 0, len = localStorage.length; i < len; i++)
{
var key = localStorage.key(i);
localStorage.removeItem(key);
}
现在,请记住 js 是单线程的;如果我有类似的东西
for (var i = 0, len = localStorage.length; i < len; i++)
{
var key = localStorage.key(i);
ajaxHttpAndSuccessCallback(function f(){localStorage.removeItem(key)});
}
ajaxHttpAndSuccessCallback 进行一些 ajax 调用,并在成功时调用参数函数。这保证有效/无效吗?依赖浏览器? ..?
最佳答案
尝试在 IIFE 中调用 ajax
,并将 i
作为变量传递给
for (var i = 0, len = localStorage.length; i < len; i++) {
(function(index) {
var key = localStorage.key(index);
ajaxHttpAndSuccessCallback(function f(){localStorage.removeItem(key)});
}(i));
}
关于javascript - 在进行ajax调用时迭代localstorage,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002759/