【问题标题】:Firebase Cloud Functions Simply Refuse to Read From Realtime DatabaseFirebase 云函数只是拒绝读取实时数据库
【发布时间】:2017-09-01 00:18:56
【问题描述】:

这是我的代码:

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();
});

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

感谢您提供任何帮助,我不知道还有什么方法可以让它运行,我从 Firebase 的文档中复制粘贴代码无济于事。

干杯!

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 解决了,谢谢!这件事仍然给我带来问题,因为它显然是在设置响应后设置标题,但这就是程序员的生活......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 2020-12-29
    • 2018-12-12
    • 2020-10-16
    相关资源
    最近更新 更多