AngularJS - Wickeln von asynchronen Bibliotheken von Drittanbietern als Service

8

Ich habe eine Bibliothek von Drittanbietern, die asynchron auf meine Seite geladen wird, und ich möchte sie als Dienst verwenden.

Wie kann ich den Ladecode in einen eckigen Service einpacken? Im Allgemeinen, was wäre die beste Praxis?

Im Moment ist mein Ansatz so:

%Vor%

und dann auf der Seite außerhalb des Winkelbereichs

%Vor%     
Shlomi Schwartz 01.01.2013, 08:22
quelle

1 Antwort

4

Eine Möglichkeit besteht darin, Ihren Bibliotheksaufruf in $ q zu verpacken. Dieser eckige Dienst gibt ein Versprechen zurück, das Sie beheben können, wenn die Bibliothek vollständig geladen ist.

Ihre doStuff Funktion wäre etwas wie:

%Vor%

In Ihrem Controller verwenden Sie die Funktion then() , um die Ergebnisse zu verarbeiten.

Eine zweite Möglichkeit ist mit einem Rückruf. Hier ist ein Beispiel beider Typen.

Wenn Ihre Bibliothek das DOM manipuliert, ist es besser, es in eine Direktive zu packen.

    
asgoth 01.01.2013, 08:57
quelle