Firebase功能触发两次

时间:2019-03-20 19:56:06

标签: firebase firebase-realtime-database google-cloud-functions

我需要创建一个Firebase用户,该用户在实时数据库中保存了3个相关数据集,如下所示。

root
  |
  x - dataset1
  |
  x - dataset2
  |
  x - whatever
  |   |
  |   x - dataset3
  |

用户由具有以下架构的firebase函数创建:

exports.createNewUser = functions.https.onRequest((req, res) => {
    const userData = {
        ...
    };

    const data1 = {
        "key1" : "value1",
        "key2" : "value2",
        ...
    };

    const data2 = {
        "key1" : "value1",
        "key2" : "value2",
        ...
    };

    const data3 = {
        "key1" : "value1",
        "key2" : "value2",
        ...
    };

    admin.auth().createUser(userData)
    .then(userRecord => (
        var promises = [];

        promises.push(admin.database().ref(`dataset1/${userId}`).set(data1));
        promises.push(admin.database().ref(`dataset2/${userId}`).set(data2));
        promises.push(admin.database().ref(`whatever/dataset3/${userId}`).set(data3));

        return Promise.all(promises);
    )}
    .then(() => {
        res.status(200).end();
    })
}

奇怪的是,当第一次启动该功能时,它运行良好,但是每次启动后都会触发两次。

到目前为止,我已经解决了将“ data3”移到根目录下的问题,但这是一种错误还是做错了什么?

预先感谢

**编辑**

@Doug Stevenson我尝试了您的建议,但不幸的是,这是一些屏幕截图。

enter image description here

enter image description here

enter image description here

enter image description here

enter image description here

0 个答案:

没有答案