2

数週間前に Firebase を使い始め、node.js サーバー コードで Firebase Queue を実行していました。クライアントはメッセージをキュー/タスクにプッシュでき、サーバーはそれらを解決します。Firebase Queue が更新され、他の誰も問題を抱えていないように見えますが、Firebase がバージョン 3 に変更された後、これを再現できません。これはおそらく私のコードの小さなバグにすぎませんが、数日たっても見つかりませんでした。誰かが指摘してくれれば幸いです。

ここに私のサーバーコードがあります。タスクがキューに追加されるたびにコンソールに出力する必要がありますが、そうではありません。最後の行のプッシュは、サーバーに接続できることを示しています。

var firebase = require('firebase');
var Queue = require('firebase-queue');

firebase.initializeApp({
  serviceAccount: 'serviceAccountCredentials.json',
  databaseURL: 'https://heretikchess-250ed.firebaseio.com/'
});

var ref = firebase.database().ref('queue');

var queue = new Queue(ref, function(data, progress, resolve, reject) {
  console.log('This should print whenever a task is pushed onto the queue.')
  console.log(data);
  setTimeout(function() {
  resolve();
  }, 1000);
});

ref.push('this is a push from the server');
//This push works fine, so there's no problem connecting to the server.

そして、これが私のクライアントコードです。キュー/タスクへのプッシュは成功しています。

<!doctype html>
<html lang='en'>
<head>
    <meta charset="utf-8">
    <title>Why won't my code work?</title>
    <script src="https://www.gstatic.com/firebasejs/3.0.0/firebase.js"></script>
    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
</head>

<body>

    <div>
        <h3>Submit push to firebase</h3>
        <button id='submitbutton' class='btn btn-default' type='button'>Submit</button>
    </div>

<script>
      var config = {
        apiKey: "AIzaSyCJKI3tjnnuOIcx2rnOuSTUgncuDbbxfwg",
        authDomain: "heretikchess-250ed.firebaseapp.com",
        databaseURL: "https://heretikchess-250ed.firebaseio.com",
        storageBucket: "heretikchess-250ed.appspot.com",
      };
      firebase.initializeApp(config);

      var ref = firebase.database().ref('queue/tasks');

      //Send message to queue/tasks
    $('#submitbutton').click(function() {
        ref.push('this is a push from the client');
    })
    </script>
</body>
</html>
4

1 に答える 1