я пытаюсь обновить свой токен, я получаю каждые 30 se c из моего сокета. Но код, который я нашел, не работает. Как мне подписаться на варибал в этой погоне? И если я подписываюсь, меняются ли значения всегда или только в первый раз?
сокет
import * as io from 'socket.io-client';
import {Injectable} from '@angular/core';
import {Observable, Subject} from 'rxjs';
@Injectable()
export class SocketService {
public token =new Observable<any>()
second;
socket = io.connect('http://localhost:3333');
msg: any;
getToken() {
console.log('newToken');
this.socket.on('newToken', (data) => {
console.log(data);
this.token = data.token;
this.second = data.second;
console.log(this.token, this.second);
});
}
компонент
import { Component, OnInit } from '@angular/core';
import {SocketService} from '../../Service/socket.service';
@Component({
selector: 'app-token',
templateUrl: './token.component.html',
styleUrls: ['./token.component.css']
})
export class TokenComponent implements OnInit {
token;
constructor(
private socket: SocketService,
) {
this.socket.token.subscribe(res => {
this.token = res;
});
}
ngOnInit(): void {
this.socket.getToken();
}
}