我正在使用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> }
请提出我的代码中可能缺少的内容
答案 0 :(得分:0)
由于您是在异步函数之外使用它的,因此需要将其视为Promise:
wazuhRun('linux345').then((result) => console.log(result));
异步功能是Promises的语法糖,它们被转换为Promises,这就是为什么您将Promise挂起的原因。
如果您是从另一个异步函数中调用的,则可以使用:
const code = await wazuhRun('linux345');
编辑: 关于null返回,可能是您的函数在try / catch之前引发了错误。
wazuhRun('linux345')
.then((result) => console.log(result))
.catch((error) => console.log(error));
通过在Promise中添加catch处理程序,您将能够看到异步函数中引发的所有错误。
答案 1 :(得分:0)
使用wazuhRun('linux345')。then(),它将正常工作。
from statsmodels.stats.outliers_influence import variance_inflation_factor
def calculate_vif(features):
vif = pd.DataFrame()
vif["Features"] = features.columns
vif["VIF"] = [variance_inflation_factor(features.values, i) for i in range(features.shape[1])]
return(vif)
features = features[list(score_table[score_table['final_score'] >= 2]['index'])]
vif = calculate_vif(features)
while vif['VIF'][vif['VIF'] > 10].any():
remove = vif.sort_values('VIF',ascending=0)['Features'][:1]
features.drop(remove,axis=1,inplace=True)
vif = calculate_vif(features)