我正在尝试使用Firebase实时数据库和Node.js创建拍卖门户。我正在存储拍卖开始,结束时间和剩余时间值,这是通过Node setInterval()函数进行更新的。客户观察剩余时间并随着数据库的更新而更新。
除CPU使用率已达到顶峰外,其他所有方法都可以正常工作。有什么更好的解决方案?
以下是我的代码:
var query = usersRef.orderByKey();
query.on('value', function (snap) {
setInterval(function () {
snap.forEach(function (item) {
var current_item = item.val();
var startDate = current_item.sdate;
var endDate = current_item.edate;
var start_ts = moment(moment(), "YYYY/MM/DD H:mm:ss");
var end_ts = moment(endDate, "YYYY/MM/DD H:mm:ss");
var duration = moment.duration(end_ts.diff(start_ts));
var remainT = moment.utc(duration.as('milliseconds')).format("DD:HH:mm:ss")
var hopperRef = usersRef.child(item.key);
hopperRef.update({
"rtime": remainT
});
});
console.log("Updated");
}, 1000);
});