По запросу с сервера возвращается 2 строки ответа по очереди, В коде получаю только одну!
const net = require("net");
const HOST = '192.168.0.75';
const PORT = '30001';
class Api {
constructor(host, port) {
this.HOST = host || HOST;
this.PORT = port || PORT;
this.socket = new net.Socket();
this.init();
}
init() {
const client = this;
client.socket.connect(client.PORT, client.HOST, () => {
console.log(`Client connected to: ${client.HOST}:${client.PORT}`);
});
client.socket.on('close', () => {
console.log('FiscalAPI: connection closed');
});
};
sendCommand(cmd) {
const client = this;
return new Promise((resolve, reject) => {
if(cmd) {
client.socket.write(cmd + '\u0000\r\n');
}
client.socket.on('data', (data) => {
resolve(data.toString());
});
client.socket.on('error', (error) => {
reject(error);
});
});
};
checkPumpState(dispenser_index){
this.sendCommand('0;open')
.then((data) => {
console.log(data);
return this.sendCommand(`0;dispenser_get;${dispenser_index};1`);
})
.then((data) => {
console.log(data);
return this.sendCommand(`0;store_get;0;16\u0000\r\n`);
})
.then((data) => {
console.log(data);
})
.catch((error) => console.log(error));
}
}
по каждому запросу возвращается 2 ответа. Первый: echo запроса, второй: нужный для продолжения результат.
Этим кодом удается получить только первый ответ - echo. Как получить и второй тоже?
P.S.
Еще важный момент: ЗАПРОСЫ-ОТВЕТЫ должны идти в строгой последовательности, ответ на предыдущий запрос может использоваться как данные для следующего