Ho una libreria di terze parti che viene caricata sulla mia pagina in modo asincrono e vorrei utilizzarla come servizio.AngularJS - wrapping libreria asincrona di terze parti come servizio
Come posso avvolgere il codice di caricamento all'interno di un servizio angolare? In generale, quale sarebbe la migliore pratica?
Al momento il mio approccio è qualcosa in questo modo:
angular.module('myAPIServices', []).
factory('MyAPI', function() {
return {
\\ API is declared at the loaded script
doStuff:function(){$window.API.doStuff()}
};
});
e quindi nella pagina di fuori del campo di applicazione angolare
(function() {
var js = document.createElement('script');
var loc = document.getElementsByTagName('script')[0];
js.async = true;
js.src = "myAPI.js";
loc.parentNode.insertBefore(js, loc);
}());
cool Userò questo approccio, grazie :) –
Gli esempi su jsFiddle sono fantastici! Il callback ha funzionato benissimo per me. – Rob