我想傳遞一個額外的變量(devicename)到session.pingHost,以便只有一次ping返回響應我運行另一個函數(someOtherFunction)需要變量。目前someOtherFunction接收devicename爲undefined。將變量傳遞到node.js函數
我該如何做到這一點?有沒有更好的方法來做到這一點?
var ping = require("net-ping");
var pingresult = '';
pingDevice('xxx.xxx.xxx.xxx', 'My Device');
function pingDevice(ipaddress, devicename){
var options = {
retries: 1,
timeout: 2000
};
var session = ping.createSession (options);
session.pingHost (ipaddress, function (error, target) {
if (error) {
console.log (target + ": ping FAIL");
pingresult = '0';
} else {
console.log (target + ": ping OK");
pingresult = '1';
}
someOtherFunction(pingresult,devicename);
});
}
感謝您的回覆。問題是,當我這樣做,並打電話給其他功能,那麼devicename是未定義的。即。沒有傳入session.pingHost。 – sardaukar81
@ sardaukar81:'pingHost'中的'devicename'的值將完全取決於你如何調用'pingHost',你沒有顯示。假設你用正確的值作爲第二個參數調用'pingHost',稍後將使用相同的值來調用'someOtherFunction'。 –
嗨TJ:我已根據您的建議更新了我的問題。問題是session.pingHost是net-ping庫的一部分,所以我不能在其中添加額外的參數。我無法弄清楚如何通過session.pingHost將devicename傳遞給其他函數。 – sardaukar81