Javascript 具有Firebase云函数的自定义观察者

Javascript 具有Firebase云函数的自定义观察者,javascript,ios,firebase,google-cloud-functions,Javascript,Ios,Firebase,Google Cloud Functions,我在Firebase数据库中有数据,我目前从iOS应用程序中观察到了这些数据。我想使用Firebase函数创建我自己的observe函数,该函数在返回数据之前从单独的数据库中提取数据 有没有办法重新创建我自己版本的Firebase API的观察方法?这就是我目前所拥有的 exports.onChildAdded = functions.https.onRequest((request, response) => { var ref = firebase.database().re

我在Firebase数据库中有数据,我目前从iOS应用程序中观察到了这些数据。我想使用Firebase函数创建我自己的
observe
函数,该函数在返回数据之前从单独的数据库中提取数据

有没有办法重新创建我自己版本的Firebase API的观察方法?这就是我目前所拥有的

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

    var ref = firebase.database().ref("data");
    ref.on("child_added", function(snapshot) {
        console.log(snapshot.key);

        var allData;
        allData.firebase = snapshot;

        //pull from other database
        allData.other = otherDatabaseData;

        response.send(allData);
    });
})

对于Firebase的云函数来说,这并不是一件真正可以做到的事情。HTTP函数需要快速完成工作(默认情况下超时一分钟,特殊配置最多9分钟),并向客户端返回单个响应。无法使用
on()
持续侦听数据库中的特定位置。但是,您可以使用
once()
一次性查询数据库,并对结果进行处理。但这显然不同于
“child\u added”
监听器


要做到这一点,您需要运行自己的自定义服务器,以便能够控制长时间运行的进程。

对于Firebase的云功能,您实际上无法做到这一点。HTTP函数需要快速完成工作(默认情况下超时一分钟,特殊配置最多9分钟),并向客户端返回单个响应。无法使用
on()
持续侦听数据库中的特定位置。但是,您可以使用
once()
一次性查询数据库,并对结果进行处理。但这显然不同于
“child\u added”
监听器


这样做需要您运行自己的自定义服务器,允许您控制长时间运行的进程。

这很不幸,我想我只需要在设备端发出两个请求。这很不幸,我想我只需要在设备端发出两个请求。