我写了以下tcp client
在 node.js 中。
const net = require('net');
const HOST = 'linux345';
const PORT = 2345;
let ErrCode = 1;
const client = new net.Socket();
client.connect(PORT, HOST, function() {
ErrCode = 0;
});
client.on('data', function(data) {
console.log('Client received: ' + data);
if (data.toString().endsWith('exit')) {
client.destroy();
}
});
client.on('close', function() {
});
client.on('error', function(err) {
ErrCode = err.code;
console.log(ErrCode);
});
console.log(ErrCode);
请建议我如何使用 async/await 编写相同的逻辑
我查看了以下帖子,但没有帮助。
node 7.6 async await issues with returning data
最佳答案
有一个神奇的包,包裹了原生 Node promise 中的套接字。让您使用async/await
所有套接字方法的语法。
该软件包可在 NPM 上找到.
示例
import net from "net"
import PromiseSocket from "promise-socket"
const socket = new net.Socket()
const promiseSocket = new PromiseSocket(socket)
await connect(80, "localhost")
// or
await connect({port: 80, host: "localhost"})
关于javascript - 如何使用 async/await 在 NodeJS 中创建 TCP 客户端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58290244/