gpt4 book ai didi

javascript - firebase 函数中无法访问全局变量

转载 作者:行者123 更新时间:2023-11-29 21:03:21 25 4
gpt4 key购买 nike

我在 index.js(firebase 函数)中声明了一个全局数组。一旦部署了代码,这个数组就会从 firebase 数据中填充。我有两个函数,在第一个函数 (onTW) 中,我对数组做了一些更改,我只是在另一个函数 (onRemoveTW) 中显示它。问题是我在第二个函数中得到一个空数组。这是我的代码。

    var TWArray = [];
TWRef.once('value', function (snapshot) {
snapshot.forEach(function(childSnapshot) {
var name=childSnapshot.key;
var users = {};
var userNbr = 0;
TWRef.child(name).child('rm').once('value', function (snapshot2) {
snapshot2.forEach(function(childSnapshot2) {
userNbr++;
if(childSnapshot2.key=='a'){
users.a = childSnapshot2.val();
}
if(childSnapshot2.key=='b'){
users.b = childSnapshot2.val();
}
if(childSnapshot2.key=='c'){
users.c = childSnapshot2.val();
}
if(childSnapshot2.key=='d'){
users.d = childSnapshot2.val();
}
})
TWArray.push({
rmName:name,
users:users,
userNbr:userNbr
});
})

})
})
exports.onTW = functions.database
.ref('/Orders/TW/{requestId}')
.onWrite(event => {
const userKey = event.data.key;
const post = event.data.val();
if (post != null) {
var users={};
users.a=userKey;
TWArray.push({
rmName:userKey,
users:users,
userNbr:1
});
console.log(TWArray);
console.log("TWArray.length : "+TWArray.length);
}
});
exports.onRemoveTW = functions.database
.ref('/Orders/RemoveTW/{requestId}')
.onWrite(event => {
const userKey = event.data.key;
const post = event.data.val();
if (post != null) {

console.log("TWArray.length : "+TWArray.length);
}
})

提前致谢!

最佳答案

在使用 firebase-functions 时,您不能通过写入全局变量来在函数之间共享数据,因为它们旨在成为无状态的。因此,不支持此功能。

您可以将数据写入 firebase-database

关于javascript - firebase 函数中无法访问全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45411629/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com