最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

使用async

IT培训 admin 5浏览 0评论

使用async

我正在使用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> }

请提出我的代码中可能缺少的内容

回答如下:
const code = await wazuhRun('linux345');

由于wazuhRun被标记为异步函数,并且您正在其中进行异步调用(await connection.connect(params)),因此需要使用await。

异步函数是Promises的语法糖,它们被转换为Promises,这就是为什么您要等待Promise的原因。通过使用await,您可以告诉脚本在继续运行之前等待Promise解决。

查看此代码的另一种方法是:

wazuhRun('linux345').then((result) => console.log(result));

使用async

我正在使用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> }

请提出我的代码中可能缺少的内容

回答如下:
const code = await wazuhRun('linux345');

由于wazuhRun被标记为异步函数,并且您正在其中进行异步调用(await connection.connect(params)),因此需要使用await。

异步函数是Promises的语法糖,它们被转换为Promises,这就是为什么您要等待Promise的原因。通过使用await,您可以告诉脚本在继续运行之前等待Promise解决。

查看此代码的另一种方法是:

wazuhRun('linux345').then((result) => console.log(result));

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论