Tôi đã tạo một dịch vụ SocketService, về cơ bản nó khởi tạo socket để cho phép ứng dụng lắng nghe trên cổng. Dịch vụ này cũng tương tác với một số thành phần.
// socket.service.ts
export class SocketService {
constructor() {
// Initializes the socket
}
...
}
Tôi biết mã trong hàm tạo của SocketService () chỉ bắt đầu chạy khi một thành phần sử dụng SocketService.
Và thường mã trong app.ts trông như thế này:
// app.ts
import {SocketService} from './socket.service';
...
class App {
constructor () {}
}
bootstrap(App, [SocketService]);
Tuy nhiên, tôi muốn dịch vụ này chạy khi ứng dụng khởi động. Vì vậy, tôi đã tạo một mẹo, chỉ cần thêm hàm tạo private _socketService: SocketService
của App (). Vì vậy, bây giờ các mã trông như thế này:
// app.ts (mới)
import {SocketService} from './socket.service';
...
class App {
constructor (private _socketService: SocketService) {}
}
bootstrap(App, [SocketService]);
Bây giờ nó hoạt động. Vấn đề là đôi khi các mã trong constructor () của SocketService chạy, đôi khi không. Vậy tôi phải làm như thế nào cho đúng? Cảm ơn