0

HTML ヘッドにスクリプトを追加することで、別の JavaScript ライブラリ (Ziggeo) をインクルードする Meteor 用のパッケージを開発しました。

ソースはこちら https://github.com/Goltfisch/meteor-ziggeo/blob/master/ziggeo.js

ZiggeoApiパッケージを使用する Meteor アプリ内から呼び出したい場合、定義されていないエラーが発生することがあります。

ZiggeoApiクライアントがすぐに利用できないように、ロードが少し遅くなることがあるようです。

ZiggeoApi関数が利用可能になるまでクライアントで待機するにはどうすればよいですか?

私は次のようなものをテストしました

Tracker.autorun ->
  if ZiggeoApi?
    console.log 'ZiggeoApi is ready'

または入れますTemplate.foo.onRendered / Template.foo.onCreated

しかし、うまくいきません。

前もって感謝します!

4

2 に答える 2

1

これは汚い解決策です。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);
于 2015-05-21T15:33:34.557 に答える
0

ライブラリを lib/ ディレクトリに配置して、比較的すぐにアプリに読み込まれるようにします。

Meteor Documentationからの Meteor のロード順序は次のとおりです。

  1. HTML テンプレート ファイルは常に他のすべてのファイルよりも先に読み込まれます
  2. main で始まるファイル。最後にロードされます
  3. lib/ ディレクトリ内のファイルが次にロードされます
  4. より深いパスを持つファイルが次に読み込まれます
  5. ファイルは、パス全体のアルファベット順にロードされます
于 2015-05-21T15:37:50.060 に答える