現在、NodeJS で Firebase Admin SDK を使用して Firebase データベースを照会するループバックでリモート メソッドを作成しようとしています。
それは機能しますが、私が抱えている問題は、リアルタイムにできないことです。コールバック関数が複数回呼び出されていることを示すエラーでクラッシュし続けます。
これは、私のリモート メソッドのコードのスニペットです。
'use strict';
module.exports = function(Scusers) {
var admin = require("firebase-admin");
Scusers.listItems = function(cb) {
// Get a database reference
var db = admin.database();
var ref = db.ref("users");
// Attach an asynchronous callback to read the data at our posts reference
var items = [];
// return list of users ordered by key and push each object into an array
ref.orderByKey().on("value", function(snapshot) {
snapshot.forEach(function(data) {
items.push(data.val());
});
// return array
cb(null, items);
}, function (errorObject) {
console.log("The read failed: " + errorObject.code);
});
};
}
この行を変更すると:
ref.orderByKey().on
為に:
ref.orderByKey().once
動作しますが、AngularJS でコーディングされたフロントエンドでは、手動で更新を呼び出さない限り、変更が表示されません。
これに対する最善のアプローチは何ですか?不明確な場合や私のアプローチが間違っている場合は申し訳ありませんが、私はこれが初めてです。ありがとう!