0
私はゲーム作成時にfirebaseのスコアを更新するライブスコアリングサーバを持っています。現在、ノードサーバーには、firebaseを持つノードの種類を具体的に参照するコードを持つリスナーがあります。それはゲームがfirebaseで作成されたときにタイマーがゲームに5秒ごとに更新するように設定されており、ゲームの状態が閉じられた後に更新を停止し、今現状ではfirebaseの複数のリスナー
ref.orderByChild("league").equalTo('NBA').on("value", function(snapshot) {
refreshInterval = setInterval(function() {
nbafile.nbaUpdate(snapshot.val());
}, 5000);
}, function(errorObject) {});
};
。 HERE
は問題です:
私がしようとすると、このようなNCAABなど他のスポーツのための追加のリスナーを追加する場合、それが有効にされることはありませんいずれか、またはそれらが両方と呼ばれているが、タイマーは停止しません。最初の先例を取得し、他のスポーツは発生しませんと呼ばれているどちらの機能
ref.orderByChild("league").equalTo('NCAAB').on("value", function(snapshot) {
refreshInterval = setInterval(function() {
cbbfile.cbbUpdate(snapshot.val());
}, 5000);
}, function(errorObject) {});
}
。
以下は、ゲームが指し示すif文とともに完全なコードです。これは働いていなかった
const startUpdate = function(db, ref) {
db = admin.database();
exports.db = db;
ref = db.ref('game');
exports.ref = ref;
console.log('-----------------------------------');
ref.orderByChild("league").equalTo('NBA').on("value", function(snapshot) {
refreshInterval = setInterval(function() {
nbafile.nbaUpdate(snapshot.val());
}, 5000);
}, function(errorObject) {});
};
const startUpdate2 = function(db, ref) {
db = admin.database();
exports.db = db
ref = db.ref('game');
exports.ref = ref;
console.log('-----------------------------------');
ref.orderByChild("league").equalTo('NCAAB').on("value", function(snapshot) {
refreshInterval = setInterval(function() {
cbbfile.cbbUpdate(snapshot.val());
}, 5000);
}, function(errorObject) {});
}
nbaupdate.js
let nbaUpdate = function(games) {
console.log("Professional Basketball");
if (games === null) {
console.log('Games object empty');
return;
}
for (var id in games) {
if (games[id].league === 'NCAAB');
if (ts >= games[id].scheduledTimeUnix);
if ((games[id].status == 'complete') || (games[id].status == 'closed')) {
sports.clearTimer();
console.log(games[id].status)
} else {