Javascript 如何知道Firebase更新后更改了哪个值?

Javascript 如何知道Firebase更新后更改了哪个值?,javascript,firebase,callback,firebase-realtime-database,promise,Javascript,Firebase,Callback,Firebase Realtime Database,Promise,以下是我的数据结构: - data key1 : value4 key3 : value3 我的代码: obj = {key1:value1,key2:value2,key3:value3} firebase.database().ref('/data').update(obj) 我想知道更新后是否承诺或回调只获取修改过的密钥。有什么线索吗?回答如果更新后有承诺或回调 是的,有,它回报了一个承诺 obj = {key1:value1,key2:value2,key3:

以下是我的数据结构:

- data
      key1 : value4
      key3 : value3
我的代码:

obj = {key1:value1,key2:value2,key3:value3}
firebase.database().ref('/data').update(obj)

我想知道更新后是否承诺或回调只获取修改过的密钥。有什么线索吗?

回答如果更新后有承诺或回调

是的,有,它回报了一个承诺

obj = {key1:value1,key2:value2,key3:value3}
firebase.database().ref('/data').update(obj)
.then(function(data) {
       console.log('Update succeeded');
       //check what data you are getting
       console.log(data);
})
.catch(function(error) {
    console.log('Update failed');
    console.log(error);
});

要回答更新以仅获取已修改的密钥-不确定您的意思,您已经有正在更新的密钥了吗

回答如果更新后有承诺或回调

是的,有,它回报了一个承诺

obj = {key1:value1,key2:value2,key3:value3}
firebase.database().ref('/data').update(obj)
.then(function(data) {
       console.log('Update succeeded');
       //check what data you are getting
       console.log(data);
})
.catch(function(error) {
    console.log('Update failed');
    console.log(error);
});

要回答更新以仅获取已修改的密钥-不确定您的意思,您已经有正在更新的密钥了吗

哪个版本的Firebase?Firebase 4.0.0。哪个版本的Firebase?Firebase 4.0.0。这确实是一般的方法。但承诺中没有传递任何数据。看见Firebase API无论如何都不会公开delta:它只会公开该位置的新数据。正如Franck Van Puffelen所说,我希望得到delta ie,即将要更新的密钥。在我的例子中,key3不会被更新,但我会要求firebase更新它。这确实是一般的方法。但承诺中没有传递任何数据。看见Firebase API无论如何都不会公开delta:它只会公开该位置的新数据。正如Franck Van Puffelen所说,我希望得到delta ie,即将要更新的密钥。在我的示例中,不会更新key3,但我会要求firebase更新它。