javascript - 如何管理 JavaScript 中的依赖项?

标签 javascript dependencies lazy-loading settimeout

我有一些脚本需要等待满足某些条件才能运行 - 例如等待加载另一个脚本,或等待创建数据对象。

如何管理此类依赖项?我能想到的唯一方法是使用 setTimeout 以短间隔循环并检查函数或对象是否存在。有没有更好的办法?

如果 setTimeout 是唯一的选择,那么轮询我的页面的合理时间间隔是多少? 50 毫秒,100 毫秒?

[编辑] 我的一些脚本从页面本身或 Web 服务收集数据,有时来自多个来源的组合。数据可以在页面加载之前或之后随时准备就绪。其他脚本呈现数据(例如构建图表)。

[更新] 感谢您提供有用的答案。我同意我不应该重新发明轮子,但如果我使用一个库,至少我想了解背后的逻辑(它只是一个花哨的超时吗?)来尝试和预测对我页面的性能影响。

最佳答案

您可以在正在加载的脚本末尾调用 loaded(xyz); 之类的函数。此函数将在别处定义,并设置为根据 xyz 的值调用已注册的回调。 xyz可以是任何东西,一个简单的字符串来标识脚本,或者一个复杂的对象或函数等等。


或者只使用 jQuery.getScript(url [, success(data, textStatus)] ) .

关于javascript - 如何管理 JavaScript 中的依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9020681/

相关文章:

C++ makefiles - 头文件与外部库的依赖关系

javascript - 是否可以使用 JavaScript 更改 CSS 样式表? (不是对象的样式,而是样式表本身)

javascript - Canvas 条形图动画

c - 在 CMake 中链接外部项目的依赖项

java - 有没有一种干净的方法可以使 Hibernate 在 Swing 中使用惰性初始化?

webpack - Vue 延迟加载不起作用

没有路由器的 Angular 延迟加载模块

javascript - 如何在 Backbone.js 中编写可重用的模型和 View

javascript - 银光4 : OnBeforeUnload

android - Gradle 和 Google Cast 的 transient 依赖