Firebase 云功能简单地拒绝从实时数据库读取

Firebase Cloud Functions Simply Refuse to Read From Realtime Database

这是我的代码:

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

exports.createNewGame = functions.https.onRequest((request, response) => {
        var database = admin.database();

        database.ref().on('value', function(data) {
                console.log('SOMETHING');
        });

        response.end();
});

问题是,它没有记录 "SOMETHING"。就好像它拒绝调用 "on" 函数一样。它记录该函数已被调用并且已成功执行,但是,它实际上 运行 "on" 中的回调函数内部没有任何内容。

感谢任何帮助,我不知道还有什么可以尝试将此内容添加到 运行,我已经从 Firebase 的文档中复制粘贴了代码,但无济于事。

干杯!

您在数据库从数据库读取之前发送响应。这可能会在日志语句可以执行之前终止函数。

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();

exports.createNewGame = functions.https.onRequest((request, response) => {

    var database = admin.database();

    database.ref().once('value', function(data) {
        console.log('SOMETHING');
        response.end();
    });

});

请注意,我还将 on() 更改为 once(),因为您只对接收当前值感兴趣。