现在我需要使用socket向服务端发送请求,等待对方返回信息
发送用socket.write,
socket.write(Buffer.from('data'));
读取返回信息用
socket.on('data',(data) => {
console.log(data);
})
使用ondata无法实现,调用请求命令直接返回请求结果;而且返回的两条信息太快时,ondata会两条一起输出,
请问:如何才能实现socket.write发送不同命令后可以主动read返回对应信息
补充:
const Command = function(cmdText, data) {//cmdText命令代码,data要传输的数据
//对cmdText和data处理后生成命令header
......
client.write(header);
client.write(data);
//此处需要获取服务器端返回的结果result
return result;
}
Command方法使用async,并返回promise,promise监控 状态aa,并返回 数据bb
有数据时,改变全局变量 状态aa和数据bb
最后使用await获取socket返回值。