Я создал угловой сервис, который будет использоваться всеми моими компонентами «Задача» для потоковой передачи данных с использованием socket.io
:
@Injectable()
export class ChartService {
private socket: SocketIOClient.Socket;
constructor(task: Task) {
this.socket = io(`${environment.api_url}tasks/${task.id}/data/socket`);
}
// HANDLER
onNewMessage() {
return Observable.create(observer => {
this.socket.on('newMessage', msg => {
observer.next(msg);
});
});
}
}
Как я могу вызвать сервис из компонента задачи?
Прямо сейчас я вызываю службу как следующую:
export class TaskPreviewComponent implements OnInit {
@Input() task: Task;
constructor(
private tasksService: TasksService,
private chartService: ChartService
){}
...
Но я не знаю, могу ли я разрешить инициализировать службу некоторыми конкретными данными. Моя идея заключается в том, чтобы позвонить в службу с данными, например,
private chartService: ChartService(task)