我有一个Javascript库。它目前使用同步XMLHttmpRequest从服务器获取信息,缓存结果,并具有基于函数输入和缓存数据创建对象的函数。这些函数可能会导致另一个同步请求,但在初始页面加载后这种情况极为罕见。
"主线程上的同步XMLHttpRequest因其对最终用户体验的不利影响而被弃用。"
我发现的所有示例都说"在加载资源时使用回调。"但是可以触发负载的功能在很多地方都被使用,其中大部分都不能轻易修改为“#34;调用它并在有值时继续。”#34;改变这种特殊的行为将是我目前无法承受的重大架构变化。
我真正想要的是"阻止直到XMLHttpRequest完成或出错,"我不能再在主UI中做的事了。 我觉得应该有一些方法可以在我的库中使用回调来实现这一点,而无需更改库界面,但我无法解决问题。
我已经概括地提出了这个问题,现在我将给出一些具体细节。该库为当前浏览器以外的时间系统生成和操作日期对象。
var foo = new dateLibrary.date(utime, "Etc/UTC");
如果没有使用该时间系统进行调用,它会在创建和返回日期对象之前对时间系统进行加载和解析。然后使用页面在d3和SVG上使用它来创建漂亮,丰富的显示。把它变成某种形式
dateLibrary.date(utime, "Etc/UTC", callbackUsingResult(date));
需要深入了解d3或放弃使用生成时间轴信息的能力。