Firebase云功能 - 同步功能

时间:2017-05-27 09:55:15

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

我是firebase云功能的新手。我想创建我的index.js如下:

data

所以我的问题是,我想在实际填充时使用COMPLETED数组。因此,我想同步构造我的代码,所以只有当所有的sauce.id都在数组中时才会执行下一个函数。

我该如何编码?

谢谢!

1 个答案:

答案 0 :(得分:0)

当您收听child_added事件时,只要稍后添加子项,就会为每个现有子调用您的处理程序。因此,没有明确的时刻处理所有孩子。

如果你想处理所有当前的孩子,你应该使用once("value"处理程序,如下所示:

exports.countFruits = functions.database.ref("fruits/{FruitID}").onWrite(event =>{

(...)

    var sauces = [];

    let ref = admin.database().ref("sauces");
    ref.once("value", function(snapshot){
      snapshot.forEach(function(sauceSnapshot) {
        let sauce = snapshot.val();
        sauces.push(sauce.id);
      });
      // -> USE THE COMPLETED ARRAY FOR NEXT ANOTHER PURPOSE
    });
});