【发布时间】:2012-02-19 16:44:41
【问题描述】:
我的脚本需要等待满足某些条件才能运行 - 例如等待加载另一个脚本,或等待创建数据对象。
如何管理此类依赖项?我能想到的唯一方法是使用 setTimeout 以短间隔循环并检查函数或对象的存在。有没有更好的办法?
如果 setTimeout 是唯一的选择,那么轮询我的页面的合理时间间隔是多少? 50 毫秒,100 毫秒?
[编辑] 我的一些脚本从页面本身或 Web 服务收集数据,有时来自多个来源的组合。数据可以随时准备好,无论是在页面加载之前还是之后。其他脚本呈现数据(例如构建图表)。
[更新] 感谢您提供有用的答案。我同意我不应该重新发明轮子,但是如果我使用库,至少我想了解背后的逻辑(这只是一个花哨的超时吗?)来尝试预测对我的页面的性能影响。
【问题讨论】:
-
查看LAB.js 或其他类似的脚本加载器。
-
setTimeout 不是您的最佳选择,您能提供更多详细信息吗?为什么你不能为正在加载的脚本午餐你的脚本?
-
脚本需要满足几个条件:既要存在数据,又要加载函数。它不仅仅依赖于另一个脚本。
标签: javascript dependencies lazy-loading settimeout