Firebase promise - Query.once failed: Was called with 1 argument. Expects at least 2

后端 未结 2 1937
谎友^
谎友^ 2020-12-11 18:35

I\'m trying to fill an array with some data from Firebase using promises. Here\'s the DB structure:

- domain name(or something)
  |--highscore
     |--Foo: 5         


        
相关标签:
2条回答
  • 2020-12-11 18:52

    This error message happens when you try to use the Promisified API on a pre-Promisified SDK.

    Callbacks (that other answers have suggested) will work on any 2.x version of the Firebase SDK.

    We introduced an alternative syntax using promises in Firebase's JavaScript SDK version 2.4. See an example of once().then() in this jsbin: http://jsbin.com/qiranu/edit?js,console

    Are you using Firebase JavaScript SDK version 2.4 or later (that's where promises were introduced)?

    0 讨论(0)
  • Don't use then. Once takes a callback function as the second parameter:

    https://www.firebase.com/docs/web/api/query/once.html

    var arr=[];
    highscoreRef.child('highscore').once('value', function(snapshot) {
        snapshot.forEach(function(data) {
        arr.push({playerName: data.key(), score: data.val()});
        });
      }, function(error) {
         console.error(error);
    });
    
    0 讨论(0)
提交回复
热议问题