首页 > 解决方案 > 得到'承诺{}' 使用 async-await 执行 tcp 客户端时的消息

问题描述

我正在使用telnet-client节点模块执行 tcp 客户端。

const Telnet = require('telnet-client')

async function wazuhRun(host) {
  let connection = new Telnet()
  let ErrCode = -1;

  let params = {
    host: host,
    port: 2345,
    negotiationMandatory: false,
    timeout: 1500
  }

  try {
  await connection.connect(params)
  ErrCode = 0;
  } catch(error) {
  ErrCode = -1;
  }
  return ErrCode;
}

const code = wazuhRun('linux345');
console.log(code);

在运行上面的代码时,我得到Promise { <pending> }

请建议我的代码中可能缺少的内容

标签: javascriptnode.jspromiseasync-await

解决方案


使用 wazuhRun('linux345').then() 它将正常工作。

const Telnet = require('telnet-client')

async function wazuhRun(host) {
  let connection = new Telnet()
  let ErrCode = -1;

  let params = {
    host: host,
    port: 2345,
    negotiationMandatory: false,
    timeout: 1500
  }

  try {
  await connection.connect(params)
  ErrCode = 0;
  } catch(error) {
  ErrCode = -1;
  }
  return ErrCode;
}

wazuhRun('linux345').then(data => {
  console.log(data);
}).catch(err => {
  console.log(err);
})

推荐阅读