Ich möchte eine einzelne Instanz eines Objekts mit einer large external API erstellen und teilen Sie es unter mehreren Komponenten meiner App.Wie kann man am besten mit einer großen externen API umgehen, so dass eine einzelne Instanz von mehreren Komponenten gemeinsam genutzt werden kann?
Diese API verfügt über mehrere Ereignismethoden (z. B. onJoin()
, onClose()
, onOpen()
usw.), die ich implementieren muss. Da verschiedene Ereignisse mit verschiedenen Komponenten meiner App verknüpft sind, habe ich darüber nachgedacht, diese Ereignisse in diesen Komponenten zu implementieren und nicht alle innerhalb einer Singleton-Klasse.
Alternativ habe ich mich gefragt, ob ich sollte - oder sogar könnte - jeder dieser Event-Methoden ein benutzerdefiniertes Ereignis mit EventEmitter
erstellt haben, und Listener-Methoden in jeder der relevanten Komponentenklassen bereit, diese Ereignisse zu behandeln. Aber es scheint, dass EventEmitter
can only be used by components and directives, nicht einfache Klassen.
Eine andere Sorge ist, ob ich eine Singleton-Klasse für dieses Objekt erstellen oder es als eine Art 'Service' behandeln und es in die abhängigen Komponenten injizieren sollte.
Jede Hilfe wird sehr geschätzt!
Dank
Ich würde einen 'Service' empfehlen, um die Netzwerkanrufe zu machen, auch ist es gut für Caching. – AngJobs