javascript - 如何使用 async/await 在 NodeJS 中创建 TCP 客户端?

标签 javascript node.js angular promise async-await

我写了以下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/

相关文章:

javascript - Dropzone.js : Upload file without Browse dialog in php-webdriver integration tests

javascript - Webpack - extract-text-webpack-plugin 找不到模块

node.js - 无法让 Yeoman 正常工作

node.js - 使用nodejs将base64Image上传到azure存储时出错

javascript - 在 Angular 2/4 中使用 Facebook 广告跟踪像素

javascript - 单页多个 svg 中的多个强制布局不起作用

node.js - 未找到命令 : node-inspector

Angular:setErrors 在循环内不起作用

angular - 如何动态地为 ag-grid 提供 ID?

javascript - 无法使用 facebook 插件 casperJS 打开页面