2012-09-22 93 views
1

我使用Yepnope加载外部JavaScript。在这种情况下,基于angularjs的应用程序的指令和控制器。我面临的问题是,回调函数并不会始终激活,而完整的函数通常会激发一个,而且很少发生两次以上。Yepnope回调和完整的功能不需要经常运行

我以为我可以通过计算回调的数量并调用我的回调函数来解决这个问题,当最后一个被调用时使用_.after([no of scripts], myFn),但似乎并不总是一直工作。

此外,我不得不在一些调用之前使用setTimeout。

最后,如果加载了库,则回调不会触发。

我在找的是一个函数,无论发生什么,我都会打电话给yepnope。我认为complete函数是为了这个,但我看起来我错了。

有没有这样的功能?

如果不是,我该如何得到这种行为?

yepnope({ test: window.v1, complete: function(){...}, callback:...}); 
ypenope({ test: window.v2, complete: function(){...}, callback:...}); 
yepnope([ {test: window.v1, complete: function(){...}, callback:...} ]); 

我如何完成在上述情况中火3倍?

回答

0

通过在yepnope周围创建一个小包装来解决问题。我正在通过这个包装器对yepnope进行调用,这样我就可以跟踪每个调用并在需要时触发完整的函数。

相关问题