我正在创建一个多用户应用,并希望使用密钥来生成用户信息。我创建了一个函数,用生成的密钥更新数据库的子节点。以下函数表现正确:
unlist(list) {
var postData = {
state: "unlisted",
};
var newPostKey = firebase.database().ref().child('foods').push().key;
var updates = {};
updates['foods' + '/' + list.$key + '/' + 'state' + '/' + newPostKey] = postData;
return firebase.database().ref().update(updates);}
我有一个与此类似的单独功能:
changestate(item) {
var postData = {
state: "listed",
};
var newPostKey = firebase.database().ref().child('foods').push().key;
var updates = {};
updates['foods' + '/' + item.$key + '/' + 'state' + '/' + newPostKey] = postData;
return firebase.database().ref().update(updates);}
为了使此工作正常,从unlist(list)
创建的密钥需要与var newPostKey
中的changestate(item)
对应,反之亦然。我怎样才能做到这一点?
答案 0 :(得分:0)
cfoster5。我从你的问题中理解的是,unlist函数中的newPostkey应该被传递给changeState(item)函数,如果这是你想要的意味着你可以通过在
中调用promise来做到这一点。firebase.database().ref().update(updates).then(function(){
// You can call changestate function and pass the function like below
_changestate(item,newPostkey);
});
并在您的更改状态函数中
changestate=function(item,passedkey){
var newPostKey = passedkey;
}
查看我的jsfiddle sample