流星:等待库准备好
Meteor: Wait until Library is ready
我为Meteor开发了一个包,其中包括另一个JavaScript库(Ziggeo),通过将它们的脚本附加到HTML头。
这是来源https://github.com/Goltfisch/meteor-ziggeo/blob/master/ziggeo.js
我有时会得到一个错误,如果我想从使用包的流星应用程序中调用它,ZiggeoApi
没有定义。
似乎ZiggeoApi
有时加载得有点慢,所以它不能立即对客户端可用。
如何在客户端等待ZiggeoApi
功能可用?
我测试过像
这样的东西Tracker.autorun ->
if ZiggeoApi?
console.log 'ZiggeoApi is ready'
或者放在Template.foo.onRendered / Template.foo.onCreated
但是它不工作。
提前感谢!
这是一个肮脏的解决方案,定期检查API是否存在:
var checkForAPIInterval = Meteor.setInterval(function checkForAPI() {
if(typeof someAPI !== 'undefined') {
notifyAPIReady(); //Do some reactive stuff, use a plain old callback, ...
Meteor.clearInterval(checkForAPIInterval);
}
}, 100);
把你的库放在lib/目录下,这样它就会很快加载到你的应用程序中。
下面是Meteor文档中的加载顺序:
- HTML模板文件总是在其他文件之前加载
- 以main开头的文件最后加载
- 任何lib/目录中的文件都将在下一个加载
- 路径更深的文件在
下加载- 然后按整个路径的字母顺序加载文件
相关文章:
- 在jquery文档准备好之前加载Modernizr
- 请求准备一个文件并返回路径,允许用户在准备好时下载
- Electron:Express.js服务器在Mongo数据库'It’准备好了
- 从Document调用onchange函数.已准备好从更新中预先选择的项目
- jquery触发器可以从点击开始工作,但没有准备好
- 我怎么知道Jqgrid已经准备好了
- Javascript+HTML中的日期选择器准备好了吗?(需要:DD、MM、YY的单独字段加上日历选择器)
- 创建元素更好还是只在html上准备好它们
- 如何移除预先准备好的容器
- 加载直到图像准备好,而图像隐藏直到它准备好
- 将参数传递到准备好文档的.js文件
- 如何一次插入两个表?准备好的发言
- jQuery文档是否准备好等待通过Backbone动态注入的html元素
- 为什么文档.准备好了等待
- 在ES6模块中等待文档准备好
- 窗口.加载和文档.准备好了,还在等待DOM
- 等待页面准备好后再显示
- Angularjs指令控制器:等待DOM准备好
- 真的有必要等待DOM准备好操作DOM吗?
- 流星:等待库准备好