ich eine ziemlich einfache Feuerbasis Funktion haben:event.params.wildcard den falschen Wert zurück
exports.sendFollowNotification = functions.database.ref('PendingRequest/{receiver_id}/{sender_id}').onWrite(requestEvent => {
const requestSnapShot = requestEvent.data;
const senderId = requestEvent.params.sender_id;
const targetId = requestEvent.params.receiver_id;
const target_token = requestSnapShot.child('sender').val();
const sender_token = requestSnapShot.child('receiver').val();
console.log('sender_id :'+senderId);
console.log('target_id :'+targetId);
console.log('target_token: '+ target_token);
console.log('sender_token: '+sender_token);
const pendingRequestPayload = {
data: {
token_sender : sender_token,
token_target : target_token,
request_sender : senderId,
request_receiver : targetId,
my_message_id: '0'
}
};
if(target_token != null){
// Send a message to devices subscribed to the provided topic.
return admin.messaging().sendToDevice(target_token, pendingRequestPayload)
.then(function (response) {
// See the MessagingTopicResponse reference documentation for the
// contents of response.
console.log("Successfully sent message:", response);
})
.catch(function (error) {
console.log("Error sending message:", error);
});
}
Jedes Mal, wenn diese Funktion dort feuert zwei Werte, die getauscht wird: SenderID bekommt targetId Wert und umgekehrt. Beide Werte werden mit der params -Eigenschaft abgerufen, während den Werten, die ich von requestSnapShot.child ('value_name') erhalte, nichts Seltsames passiert.
Die dumme Lösung ist nur, um die beiden Werte zu tauschen, wann immer ich sie brauche, aber gut, das ist eine wirklich dumme Lösung. Was fehlt mir hier?
Genau. Ich habe versehentlich die "dumme Problemumgehung" eingefügt ... ich meine, es funktioniert total die 2 Werte zu tauschen und ich könnte den Code auf dem Weg lassen, aber es macht keinen Sinn –
Ich habe meine Antwort aktualisiert –