javascript - 得到'承诺{}' 使用 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> }
请建议我的代码中可能缺少的内容
解决方案
使用 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);
})
推荐阅读
- python - 使用 numPy 和 matplotlib 绘制函数相对于两个变量的最大值
- r - 如何将数据点标记到集群?
- c++ - QtPropertyBrowser 在 VS2019 中编译错误
- c# - 在 Xunit 中模拟-如何验证返回某些值的方法
- swift - SwiftUI 设置图像边界
- r - 使用 purrr 更改每个列表(嵌套列表)的每个元素
- java - Encrypt two given strings
- reactjs - React Ant 设计表 - 自定义搜索过滤器
- android - 如何在android中创建自定义全屏ovarlay对话框
- c++ - 在 C/C++ 中,我试图在没有 if-else 阶梯的 for 循环中调用不同的函数(在描述中解释)