私はnodejsを初めて使っていますが、Firebase Version 3.0.2にはすでに動作しているjsクライアントプログラムがあります。 jsクライアントでは不可能な単純なことを行うためのサーバーが必要です。新しいFirebaseを持つNodejsアプリケーションはデータベース項目を取得しません
nodejsでこの基本的なことを試しても、何も起こりません。データベース内のデータは決して取得されず、ノードサーバープログラムはエラーなしで引き続き実行されます。サーバープログラム(server.js)は次のとおりです。
var firebase = require("firebase");
var myApp =firebase.initializeApp({
serviceAccount: "xxx/xxx.json",
databaseURL: "https://xxx.firebaseio.com"
});
firebase.database().ref().on('value', function(snapshot) {
console.log("urls value changed"); // NEVER GETS HERE
console.log(snapshot.val());
});
データベースにデータがロードされていますが、これはルートを調べようとしています。コンソールでデータベースにアイテムを追加すると、何も起こりません。より具体的なref()値は効果がありません。
私はノードバージョンv4.4.4を使用しています。このプログラムは、 "node server.js"を含むコマンドライン(MBP/OSX上)で呼び出されます。
私は間違っていることを理解しようと時間を費やしました。おそらく何かばかげたことです!事前に助けてくれてありがとう。
(非同期の) 'on()'がサーバから値を取得する前に、あなたのプログラムは単に終了している可能性があります。コールバックは決して呼び出されません。例えば、このプロセスを生きたままにする方法についてのこの回答を参照してください:http://stackoverflow.com/questions/23622051/how-to-forcibly-keep-a-node-js-process-from-terminating –
同じ問題を抱えているImまた、クイックスタートプロジェクトhttps://github.com/firebase/quickstart-nodejs/tree/master/databaseを使用してテストしましたが、まだ運がありません。私はそれが彼らの最後のバグだと思う。 – garrettmac
@FrankvanPuffelen:プロセスは決して終了しない - データベースイベントを待っているようだが、決してそれを取得しない。 – DavidG