Ich habe einen Dienst SocketService erstellt, der im Grunde den Socket initialisiert, damit die App den Port abhören kann. Dieser Dienst interagiert auch mit einigen Komponenten.
// socket.service.ts
export class SocketService {
constructor() {
// Initializes the socket
}
...
}
Ich weiß, dass der Code im Konstruktor () von SocketService erst ausgeführt wird, wenn eine Komponente SocketService verwendet.
Und normalerweise sieht der Code in app.ts so aus:
// app.ts
import {SocketService} from './socket.service';
...
class App {
constructor () {}
}
bootstrap(App, [SocketService]);
Ich möchte jedoch, dass dieser Dienst ausgeführt wird, wenn die App gestartet wird. Also habe ich einen Trick gemacht, füge einfach private _socketService: SocketService
App's Konstruktor () hinzu. Jetzt sehen die Codes so aus:
// app.ts (neu)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
Jetzt funktioniert es. Das Problem ist manchmal, dass die Codes im Konstruktor () von SocketService ausgeführt werden, manchmal nicht. Wie soll ich das richtig machen? Vielen Dank