Класс WebSocket
import WebSocket from 'ws';
export class ClassWS {
private readonly apiKey: string;
private readonly apiSecret: string;
private readonly ws: WebSocket;
private id: number = 1;
constructor(apiKey: string, apiSecret: string, baseUrl: string) {
this.apiKey = apiKey;
this.apiSecret = apiSecret;
this.ws = this.connect(baseUrl);
};
private connect = (baseUrl: string) => {
const ws = new WebSocket(baseUrl);
ws.on('open', this.onOpenHandler);
ws.on('message', this.onMessageHandler);
ws.on('error', this.onErrorHandler);
ws.on('close', this.onCloseHandler);
return ws;
};
private onOpenHandler = () => {
console.log('WebSocket connection established');
};
private onMessageHandler = (data: any) => {
console.log(data);
};
private onErrorHandler = (e: any) => {
console.log(e);
};
private onCloseHandler = () => {
console.log('WebSocket connection closed');
};
private incrementMessageId = () => {
this.id++;
};
send = (data: string | Buffer | ArrayBuffer) => {
this.ws.send(data);
this.incrementMessageId();
};
}
Основной файл
(async () => {
try {
const apiKey = process.env.API_KEY || null;
const apiSecret = process.env.API_SECRET || null;
const baseUrl = process.env.BASE_URL || null;
if(!apiKey || !apiSecret)
throw new Error('Укажите API_KEY и API_SECRET в .env');
if(!baseUrl)
throw new Error('Укажите BASE_URL .env');
new ClassWS(apiKey, apiSecret, baseUrl);
} catch (e) {
console.log(e);
}
})();
Получаю в консоль
WebSocket connection established
и выполнение скрипта прекращается. Как продолжить его выполнение? (раз в n секунд должно приходить сообщение, и, соответственно, должен отрабатывать onMessageHandler)