Skip to content
This repository was archived by the owner on Apr 4, 2023. It is now read-only.

Commit c6191d5

Browse files
#126 getValue
1 parent 618c6cd commit c6191d5

File tree

4 files changed

+13
-4
lines changed

4 files changed

+13
-4
lines changed

docs/DATABASE.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,8 @@ Let's say we have the structure as defined at `setValue`, then use this query to
8585
"/companies",
8686
{
8787
// set this to true if you want to check if the value exists or just want the event to fire once
88-
// default false, so it listens continuously
88+
// default false, so it listens continuously.
89+
// Only when true this function will return the date in the promise as well!
8990
singleEvent: true,
9091
// order by company.country
9192
orderBy: {

firebase.android.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -982,18 +982,24 @@ firebase.query = function (updateCallback, path, options) {
982982
var listener = new com.google.firebase.database.ValueEventListener({
983983
onDataChange: function (snapshot) {
984984
updateCallback(firebase.getCallbackData('ValueChanged', snapshot));
985+
// resolve promise with data in case of single event, see https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/126
986+
resolve(firebase.getCallbackData('ValueChanged', snapshot));
985987
},
986988
onCancelled: function (databaseError) {
987989
updateCallback({
988990
error: databaseError.getMessage()
989991
});
992+
// see comment at 'onDataChange'
993+
resolve({
994+
error: databaseError.getMessage()
995+
});
990996
}
991997
});
992998
query.addListenerForSingleValueEvent(listener);
993999
} else {
9941000
firebase._addObservers(query, updateCallback);
1001+
resolve();
9951002
}
996-
resolve();
9971003
} catch (ex) {
9981004
console.log("Error in firebase.query: " + ex);
9991005
reject(ex);

firebase.ios.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1024,11 +1024,13 @@ firebase.query = function (updateCallback, path, options) {
10241024
if (options.singleEvent) {
10251025
query.observeSingleEventOfTypeWithBlock(FIRDataEventType.FIRDataEventTypeValue, function (snapshot) {
10261026
updateCallback(firebase.getCallbackData('ValueChanged', snapshot));
1027+
// resolve promise with data in case of single event, see https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/126
1028+
resolve(firebase.getCallbackData('ValueChanged', snapshot));
10271029
});
10281030
} else {
10291031
firebase._addObservers(query, updateCallback);
1030-
}
10311032
resolve();
1033+
}
10321034
} catch (ex) {
10331035
console.log("Error in firebase.query: " + ex);
10341036
reject(ex);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "nativescript-plugin-firebase",
3-
"version": "3.6.1",
3+
"version": "3.6.2-dev",
44
"description" : "Fire. Base. Firebase!",
55
"main" : "firebase.js",
66
"nativescript": {

0 commit comments

Comments
 (0)