Creé un servicio SocketService, básicamente inicializa el socket para permitir que la aplicación escuche en el puerto. Este servicio también interactúa con algunos componentes.
// socket.service.ts
export class SocketService {
constructor() {
// Initializes the socket
}
...
}
Sé que el código en el constructor de SocketService () solo comienza a ejecutarse cuando un componente usa SocketService.
Y, por lo general, el código en app.ts se ve así:
// app.ts
import {SocketService} from './socket.service';
...
class App {
constructor () {}
}
bootstrap(App, [SocketService]);
Sin embargo, quiero que este servicio se ejecute cuando se inicie la aplicación. Así que hice un truco, solo agregue private _socketService: SocketService
el constructor de la aplicación (). Así que ahora los códigos se ven así:
// app.ts (nuevo)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
Ahora funciona. El problema es a veces que los códigos en el constructor () de SocketService se ejecutan, a veces no. Entonces, ¿cómo debo hacerlo correctamente? Gracias
fuente