JavaScript中的变量是否存在逻辑限制?

时间:2013-12-18 20:56:10

标签: javascript ajax google-chrome caching memory

我有一个脚本,通过AJAX从服务器获取带有图像URL的JSON对象。获取的图像数是随机的,范围从60到300.脚本以固定的间隔从服务器获取JSON。

为防止出现网络问题,服务器会随机返回一个图像的base64,以便前端脚本可以将其存储在“缓存”对象中。最终,如果AJAX请求失败,“缓存”将填充足够的材料来接管。

“缓存”还会在添加新缓存之前检查它包含的base64图像数量。如果达到极限,它将覆盖最旧的base64,实际上修剪数据。

我在我测试的机器上安装了一个监视器应用程序,Chrome在21个小时后挂起。这意味着大约260个AJAX请求,可能高达78,000个图像和一个“缓存”JS对象,在base64中存储260个图像。我的流程有问题吗?

总结一下,这就是整个事情:

  • 前端向服务器发送AJAX请求
  • 服务器使用填充了图像URL的JSON对象和base64中的一个JPG进行回复
  • 前端使用URL创建<img>标记并存储base64
    • 如果服务器无法回复,则前端使用其存储的base64图像
  • 重复过程到无穷大及以外
  • Chrome浏览器在21小时后崩溃

任何帮助表示赞赏!

0 个答案:

没有答案