我正在使用 Chrome 下载大型 PNG 文件(地图图块 256x256)。Chrome 因太多 XHR2 请求而窒息
如果我只是循环并执行其中的 5K,那么 Chrome 浏览器不会节流并且内存不足(Chromium Folks 有一天会解决这个问题:https ://code.google.com/p/chromium/问题/详细信息?id=244910)
在那之前,我需要自己做节流。
我想我正在寻找的是启动一个“线程”,它将执行一批大约 100 个 xhr2 提取和 IndexedDB (IDB) 存储。然后,当它完成“信号”父进程再喂它 100 个,并循环直到完成(这就是我将如何做它 C++、C#、VB.NET 等)。
但这是在 JavaScript 中,我在远离它多年后才重新开始使用它。
我应该寻找什么?JQuery 延迟?承诺?自定义事件?[ trigger()
& bind()
] 或其他一些进行这种线程协调的方式(监视器、信号量)等。浏览器确实将 XHR2 和 IDB 请求放在不同的线程上,但没有给出典型的 IPC 控制机制。
我正在寻找一些指向先前工作的指针和一些技巧。