为了账号安全,请及时绑定邮箱和手机立即绑定

array.shift() 在 axios 响应中不起作用?

array.shift() 在 axios 响应中不起作用?

凤凰求蛊 2021-10-14 13:50:24
我有一个我这样设置的数组:let application = JSON.parse(localStorage.getItem(Applications.Offline) || '[]');然后我抓取数组中的第一个对象:let app = application[0];在此之后,我运行 axios 调用:Axios.post('API here')  .then(response => {    if(response.data.ErrorMessage === 'OK'){        application.shift();    }  })现在,这一切都在一个函数中,每 5 分钟用 setInterval 运行一次。第一次运行时,它工作正常。我有 console.logged 应用程序,它从 7 个对象减少到 6 个。但之后每隔一段时间,它就保持在 6 个。如果.shift()有效,它不应该循环到数组中的 0 个对象吗?无论如何,这就是我想要它做的。
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

您只是在移动application数组,该数组是与本地存储中完全不同的变量。JSON.parse执行时创建一个新的引用。要解决此问题,您需要在处理对象后将移位的变量设置回本地存储。


if (response.data.ErrorMessage === 'OK') {

    application.shift();

    localStorage.setItem(JSON.stringify(Applications.Offline, application));

}


查看完整回答
反对 回复 2021-10-14
  • 1 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信