我使用的节点模块从ubuntu读取防火墙ip规则并使用此功能:
function lists(table, chain, cb) {
var ip = [];
// Accepts optional table argument
if(!cb) {
cb = chain;
chain = table;
table = undefined;
}
var rule = {
list : true,
chain : chain,
table : table,
action : '-L',
sudo : true
};
lazy(iptables(rule).stdout)
.lines
.map(String)
.skip(2)
.map(function (line) {
// packets, bytes, target, pro, opt, in, out, src, dst, opts
var fields = line.trim().split(/\s+/, 9);
ip.push(fields[7]);
console.log(ip);
})
return ip;
}
问题是console.log(ip)获取正确的ip值并返回ip获取未定义的变量值...所以如何在返回(ip)中返回ip数组,所以当我从主程序调用此函数时我可以比较如果在数组中的IP ...我在函数的开始定义全局数组变量(var ip = [];)但返回ip获取未定义的变量....我怎么能返回全局IP数组变量的回报(ip )?