一段时间后停止javascript函数

时间:2017-09-29 14:57:01

标签: javascript jquery

我在这里遇到了相当大的挑战,因为我是网络开发的新手,所以我真的不知道在哪里看。

在我正在处理的这个网站上,我们正在通过javascript函数加载地图:

initializeMap();

此功能在内部调用:

$(document).on("ready", function() {
})

有时这个函数“initializeMap();”需要很长时间才能运行,很可能是因为我从另一台服务器获取信息,如果你的连接速度很慢,或者出于任何其他任意原因,它可能会超时。

有没有办法说,如果“initializeMap();”还没有在30秒内完成,我想抛出一个错误(或者以console.log为例)。

我搜索了很多,“Promise.race”似乎能够做到,但是这个系统需要旧的浏览器支持,我们无法真正更新服务器上的node.js,所以我是坚持ES5。

我希望有些人可以指出我正确的方向。

PS。我们也使用jQuery(版本3.1)

1 个答案:

答案 0 :(得分:0)

我找到了另一种解决方案。

我使用setTimeout检查30秒后的加载动画。 如果加载动画仍然存在,我会显示一个错误,用户可以重新加载页面。