我在这里遇到了相当大的挑战,因为我是网络开发的新手,所以我真的不知道在哪里看。
在我正在处理的这个网站上,我们正在通过javascript函数加载地图:
initializeMap();
此功能在内部调用:
$(document).on("ready", function() {
})
有时这个函数“initializeMap();”需要很长时间才能运行,很可能是因为我从另一台服务器获取信息,如果你的连接速度很慢,或者出于任何其他任意原因,它可能会超时。
有没有办法说,如果“initializeMap();”还没有在30秒内完成,我想抛出一个错误(或者以console.log为例)。
我搜索了很多,“Promise.race”似乎能够做到,但是这个系统需要旧的浏览器支持,我们无法真正更新服务器上的node.js,所以我是坚持ES5。
我希望有些人可以指出我正确的方向。
PS。我们也使用jQuery(版本3.1)
答案 0 :(得分:0)
我找到了另一种解决方案。
我使用setTimeout
检查30秒后的加载动画。
如果加载动画仍然存在,我会显示一个错误,用户可以重新加载页面。