Firebase云功能只是拒绝从实时数据库中读取

时间:2017-09-01 00:18:57

标签: node.js firebase firebase-realtime-database google-cloud-functions firebase-admin

这是我的代码:

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的文档中直接复制粘贴的代码无济于事。

干杯!

1 个答案:

答案 0 :(得分:0)

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

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(),因为您只对收到当前值感兴趣。