2017-07-18 6 views
0

変数をsnapshot.key値に設定しようとしています。これまでのところ、私の変数はinterlocutor = [object Promise]を返しますが、実際の値に設定する必要があります。たとえば、ノードのキーであるSEV9iTd8whgf0VyIbqUiVNaTcAL2です。 どうすればいいですか?snapshot.keyを文字列変数に変換しますか?

ありがとうございます!

これは私のコードです:

this.interlocutor = this.getRandomInterlocutor(); 
 

 

 
    FriendlyChat.prototype.getRandomInterlocutor = async function(){ 
 
    var numberOfUsers = await this.getNumberOfUsersRef(); 
 

 
    var randomIndex = Math.floor(Math.random() * numberOfUsers); 
 
    if(randomIndex == 0){ 
 
     randomIndex = 1; 
 
    } 
 
    
 
    var ref = await firebase.database().ref('companies/' + this.company + '/users/'); 
 
    ref.orderByChild('order').equalTo(randomIndex).on('value', function(userSnapshot) { 
 
    userSnapshot.forEach(function(userSnapshot) { 
 
     this.interlocutor = userSnapshot.key; 
 
     return val.userSnapshot.key; 
 
     }); 
 
    }); 
 
    }

+0

を私の作業例を参照してくださいたとえば、[firebase-docs](https://firebase.google.com/docs/reference/js/firebase.database.DataSnapshot)のように、 '.on( 'value')のように見えます。 hen(function(userSnapshot){... ' –

答えて

0
var ref = firebase.database().ref('Comapanies/'+'Company/'+'User/'); 
ref.orderByChild('order').equalTo(1).on('value', function(userSnapshot) { 
    userSnapshot.forEach(function(userSnapshot) { 
     //this.interlocutor = userSnapshot.key; 
     document.getElementById("Key").innerHTML= userSnapshot.key 
    }); 
}); 

'価値' に加入したときにおそらくあなたのように、約束の構文を使用する必要があり、ここでJs Fiddle Sample

関連する問題