У меня есть компонент, который объединяет 2 сторонних библиотеки, imagesLoaded и Isotope.Не могу понять, как обернуть функцию в цикле цикла Ember
Я получаю противоречивые тестовые сбои при выполнении тестов в браузере и режиме cli. Ошибка:
Error: Assertion Failed: You have turned on testing mode, which disabled the run-loop's autorun. You will need to wrap any code with asynchronous side-effects in a run
или
TypeError: 'undefined' is not an object (evaluating 'self.$().isotope')
Когда я пытаюсь обернуть обратные вызовы в цикле уголька выполнения, они проходят в режиме CLI-, но затем не в режиме браузера. Кажется, я не вижу правильной комбинации. Проблема, похоже, происходит в обратном вызове imagesLoaded, как будто я удаляю этот плагин, кажется, что он прошел отлично.
Я пробовал несколько комбинаций, но вот мой последний код. Если кто-нибудь знает, как правильно использовать цикл цикла в этом компоненте, это будет полезно.
handleLoad: function() {
let self = this;
Ember.run.scheduleOnce('afterRender', this, function(){
self.$().imagesLoaded(function() {
Ember.run(function() {
self.$().isotope({itemSelector: ".card-container"});
self.$().isotope('shuffle');
});
}); // imagesLoaded
}); // Ember.run
}.on('didInsertElement')