I have written the following tcp client in nodejs.

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); 

Please suggest how can I write same logic using async/await

I have looked into the following post but it is not helpful. node 7.6 async await issues with returning data

1

1 Answer

There is an amazing package that wraps the native Node socket in a promise. Allowing you to utilize async/await syntax on all socket methods.

The package can be found on NPM.

Example

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"}) 

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy