Criei um serviço SocketService, basicamente ele inicializa o soquete para permitir que o aplicativo escute na porta. Este serviço também interage com alguns componentes.
// socket.service.ts
export class SocketService {
constructor() {
// Initializes the socket
}
...
}
Eu sei que o código no construtor de SocketService () só começa a ser executado quando um componente usa SocketService.
E geralmente o código em app.ts se parece com isto:
// app.ts
import {SocketService} from './socket.service';
...
class App {
constructor () {}
}
bootstrap(App, [SocketService]);
No entanto, quero que esse serviço seja executado quando o aplicativo for iniciado. Então fiz um truque, basta adicionar private _socketService: SocketService
o construtor do App (). Portanto, agora os códigos são assim:
// app.ts (novo)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
Agora funciona. O problema às vezes é que os códigos no construtor () de SocketService são executados, às vezes não. Então, como devo fazer isso corretamente? obrigado