Появилась необходимость усложнить задачу:
на сокет отправляется три запроса, нужно дождаться всех трех ответов и вернуть последний.
Не могу понять, как правильно организовать неблокирующее прослушивание -- когда я буду вызывать код обработки сокетного запроса, нужно дождаться ответ в основном модуле программы, как правильно подвесить коллбэк?..
Например, есть такой блок кода:
var HOST = '127.0.0.1';
var PORT = 6969;
var client = new net.Socket();
client.connect(PORT, HOST, function() {
console.log('CONNECTED TO: ' + HOST + ':' + PORT);
// Write a message to the socket as soon as the client is connected, the server will receive it as message from the client
client.write('I am Chuck Norris!');
});
// Add a 'data' event handler for the client socket
// data is what the server sent to this socket
client.on('data', function(data) {
console.log('DATA: ' + data);
// Close the client socket completely
client.destroy();
});
здесь - завершается работа, когда приходит из сокета единственный ответ. а мне нужно чтобы эта конструкция закончила работу, когда придет ответ, похожий на некоторую строку-индикатор, например "data-end-recived:1234567890", и вернуть этот ответ в главный модуль программы.