【发布时间】:2016-05-13 12:14:15
【问题描述】:
我创建了一个服务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]);
但是,我希望在应用启动时运行此服务。所以我做了一个技巧,在App的constructor()中添加private _socketService: SocketService。所以现在代码看起来像这样:
// app.ts(新)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
现在可以了。问题有时是 SocketService 的 constructor() 中的代码运行,有时不是。那么我应该如何正确地做到这一点呢?谢谢
【问题讨论】:
标签: typescript angular