javascript - 在进行ajax调用时迭代localstorage

标签 javascript local-storage

如果我在本地存储中有多个项目需要迭代并执行某些操作,我知道此代码将无法跳过备用项目

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/

相关文章:

javascript - DataTable.js - 自动初始化

javascript - 将 JavaScript 变量发送到 PHP,在 SQL 语句中使用该变量,然后显示 PHP 结果

javascript - 按 Enter 键或页面刷新后,在页面后保留 jquery 值

javascript - 在 JS/REACT 中创建 Json 对象变量

javascript - 使用 localStorage 维护复选框的选中状态

javascript - 使用 jQuery 更改选项卡

javascript - 为什么API的内容显示不出来?

javascript - 如何在 Ionic 本地存储中高效存储数据,而不需要每次都转换对象?

javascript - 如何处理 Parse Promise 错误,以便它们不会继续执行代码?

javascript - 具有 promise 和本地存储的 Angular JS 日志记录数据