繁体   English   中英

module.exports内联函数变量未定义

[英]module.exports inline function variables not defined

我的小项目和学习javascript的进展顺利(很大程度上要感谢这里的同事)

我正在为module.exports挣扎。 我认为问题是因为我要获取的变量埋在下面的内联函数中:

var login = require('./myAirLogin')
var http = require('http');
var parseString = require ('xml2js').parseString;
var options = {
   hostname: '192.168.1.200',
   port: 80,
   path: '/getSystemData',
   method: 'GET'
};

//Get the system variables from MyAir

var req = http.request(options, function(res) {

    res.setEncoding('utf8');
    res.on('data', function (systemdata) {
parseString(systemdata,{explicitArray:false,trim:true,ignoreAttrs:true},//childkey:9},//explicitArray:false},//explicitChildren:false}, 
            function (err, sysdata) {
           var myairActualTemp= Number(sysdata["iZS10.3"].system.unitcontrol.centralActualTemp);
           var myairAirconOnOff= (sysdata["iZS10.3"].system.unitcontrol.airconOnOff);
           var myairFanSpeed= Number(sysdata["iZS10.3"].system.unitcontrol.fanSpeed);
           var myairMode= (sysdata["iZS10.3"].system.unitcontrol.mode);
           var myairDesiredTemp= Number(sysdata["iZS10.3"].system.unitcontrol.centralDesiredTemp);
           var myairNumberOfZones= Number(sysdata["iZS10.3"].system.unitcontrol.numberOfZones);
           var myairMaxUserTemp= Number(sysdata["iZS10.3"].system.unitcontrol.maxUserTemp);
           var myairMinUserTemp= Number(sysdata["iZS10.3"].system.unitcontrol.minUserTemp);
           var myairErrorCode= (sysdata["iZS10.3"].system.unitcontrol.airConErrorCode);
       });
    });

});

req.on('error', function(e) {
    console.log('problem with request: ' + e.message);
});
req.end();

如果我引入一个变量即

module.exports.zones=8;

在初始块中,我可以从外部文件访问它们。

var sysdata=require('./myAirGetSysData');
console.log(sysdata.myairNumberOfZones)
console.log(sysdata.zones)

但是,无法调用myairNumberOfZones。 我尝试过在各个位置使用导出文件包装systemdata和system函数,并使用我在此处可以找到的所有语法,但是显然缺少某些东西。

您可以将module.exports = {getZones:getZones};

为区域创建吸气功能

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM