1

現在、ポリマー要素をテストしており、要素に変数が設定されるのを待つ必要があります。変数が設定されるのを待つように Javascript に指示する方法を検索した後、次のコードを思いつきました。

var behavior;

setup(function(){
  behavior = fixture("behavior");
});


test('Behavior loads resources', function(done) {
  var waitForI18n = function() {
      if(behavior.isI18nLoaded){
        clearInterval(interval);
        expect(behavior.getKey("test")).to.be.equal("test" + behavior.language.toUpperCase());
        done();
      }
  };
  var interval = setInterval(waitForI18n, 50);
});

これChrome では機能しますが、他のブラウザー (IE11、Edge、Firefox) はフリーズし、最終的にクラッシュします。firefox で「再帰が多すぎます」というエラーが発生しましたが、他にはあまりありませんでした。

私は何か間違ったことをしていますか?何か案は?再帰的な setTimeout を試してみましたが、動作は同じでした: Chrome は機能しますが、他のブラウザーは機能しません。

4

0 に答える 0