1

現在、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 でコーディングされたフロントエンドでは、手動で更新を呼び出さない限り、変更が表示されません。

これに対する最善のアプローチは何ですか?不明確な場合や私のアプローチが間違っている場合は申し訳ありませんが、私はこれが初めてです。ありがとう!

4

0 に答える 0