setInterval(function(){
for(i=1;i<=len;i++)
{
plug[i].getSysInfo().then(data => {
var json = JSON.stringify(data,undefined,2);
var obj = JSON.parse(json);
var _macadd = obj.mac;
plug[i].getConsumption().then(data => {
var json = JSON.stringify(data,undefined,2);
var obj = JSON.parse(json);
var _current = obj.current;
var _voltage = obj.voltage;
var _power = (obj.power).toPrecision(5);
var _total = obj.total;
var _err_code = obj.err_code;
console.log(_power);
//console.log(_macadd);
//console.log(voltage);
if(_power > 1800)
{
_power = 0.00;
}
// var fs = require('fs');
// fs.writeFile("emeter.json", json);
var sql1 = "INSERT INTO emeter SET ? ";
var post1 = { macaddress: _macadd,current: _current,voltage: _voltage,power: _power, total: _total,err_code: _err_code};
var tmp = JSON.stringify(post1,undefined,2);
console.log(tmp);
con.query(sql1, post1, function (err, result) {
if (err) throw err;
console.log("inserted");
});
});
});
}
},30000);
私はこれを実行している間、私はエラー 未処理の約束拒絶タイプエラーの下に取得しています: Cannot read property of 'getconsumption' of undefined.
未処理の約束拒否未定義
私は1つの値でインデックスを交換する際に上記のコードはうまくいきました。 1つの値だけを取得するには、それは機能しています。 Forループでは、エラーメッセージが返されます。これを解決するのを手伝ってください。
ありがとうございます。私は答えを得た: –
ありがとうjfriend00。私は同じをクリックした:) –