我创建了一个服务SocketService,基本上它会初始化套接字以让应用程序在端口上侦听。该服务还与某些组件进行交互。
// socket.service.ts
export class SocketService {
constructor() {
// Initializes the socket
}
...
}
我知道SocketService的Constructor()中的代码仅在组件使用SocketService时才开始运行。
通常,app.ts中的代码如下所示:
// app.ts
import {SocketService} from './socket.service';
...
class App {
constructor () {}
}
bootstrap(App, [SocketService]);
但是,我希望在应用启动时运行此服务。因此,我做了一个技巧,只需添加private _socketService: SocketService
App的Constructor()。所以现在代码看起来像这样:
// app.ts(新)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
现在可以了。问题有时是SocketService的Constructor()中的代码运行,有时却没有。那么我应该如何正确地做呢?谢谢