如何解决Javascript 双倍导出以更新数据库
例如:
- 第一个输入 - 1 条记录
- 第二个输入 - 2 条记录
- 第三个输入 - 4 条记录
- 第四个输入 - 16 条记录...
我需要每隔几秒更新一次温度、湿度并发送日期和时间。
function ZapisiVrijednosti() {
let nDatumVrijeme = "21/03/2021 16:53"
let nTemperatura = 23
let nVlaznost = 70
setInterval(function () {
sKey = firebase.database().ref().child('ts0').push().key;
oSenzor = {
DatumVrijeme: nDatumVrijeme,Temperatura: nTemperatura,Vlaznost: nVlaznost
};
let oZapis = {};
oZapis[sKey] = oSenzor;
oDbsenzor0.update(oZapis);
console.log(oZapis);
},5000);
}
15 秒或 3 个会话后的控制台日志:
{
'-MWK_gQeMCF8HVBRA57s': { DatumVrijeme: '21/03/2021 16:53',Temperatura: 23,Vlaznost: 70 }
}
{
'-MWK_he2Tr1GauEET-Oe': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
{
'-MWK_he4cLLJQzP2yC4g': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
{
'-MWK_isF8xemd1uuemim': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
{
'-MWK_isGWGMNVBEFzzOW': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
{
'-MWK_isIhxD6uywaD8Vm': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
{
'-MWK_isLdm-6yTaQcZTr': { DatumVrijeme: '21/03/2021 16:53',Vlaznost: 70 }
}
如果我注释掉 oDbsenzor0.update(oZapis);
console.log 每 5 秒只输出一行。
谢谢:)
编辑:
let oDb = firebase.database();
let aSenzor = [];
let oDbsenzor0 = oDb.ref('ts0');
oDbsenzor0.on('value',function (oOdgovorPosluzitelja) {
aSenzor = [];
oOdgovorPosluzitelja.forEach(function (oSenzorSnapshot) {
let oSenzor = oSenzorSnapshot.val();
aSenzor.push({
DatumVrijeme: aSenzor.datetime,Temperatura: aSenzor.temperatura,Vlaznost: aSenzor.vlaznost
})
})
ZapisiVrijednosti();
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。