Ich habe eine Cloud-Funktion verwendet, um Querverweise auf zwei Listen und finden Sie Werte, die über die Listen miteinander übereinstimmen. Die Funktion scheint ordnungsgemäß zu funktionieren, aber in den Protokollen sehe ich immer diese Error serializing return value: TypeError: Converting circular structure to JSON
. Hier ist die Funktion ...Cloud-Funktionen für Firebase - Fehler Serialisierung Rückgabewert:
exports.crossReferenceContacts = functions.database.ref('/cross-ref-contacts/{userId}').onWrite(event => {
if (event.data.previous.exists()) {
return null;
}
const userContacts = event.data.val();
const completionRef = event.data.adminRef.root.child('completed-cross-ref').child(userId);
const removalRef = event.data.ref;
var contactsVerifiedOnDatabase ={};
var matchedContacts= {};
var verifiedNumsRef = event.data.adminRef.root.child('verified-phone-numbers');
return verifiedNumsRef.once('value', function(snapshot) {
contactsVerifiedOnDatabase = snapshot.val();
for (key in userContacts) {
//checks if a value for this key exists in `contactsVerifiedOnDatabase`
//if key dioes exist then add the key:value pair to matchedContacts
};
removalRef.set(null); //remove the data at the node that triggered this onWrite function
completionRef.set(matchedContacts); //write the new data to the completion-node
});
});
Ich versuchte return
vor completionRef.set(matchedContacts);
setzen, aber das gibt mir immer noch den Fehler. Ich bin mir nicht sicher, was ich falsch mache und wie ich den Fehler beheben kann. Danke für Ihre Hilfe
Ok ich werde das versuchen. Kannst du erklären was 'Promise.all ([...])' ist? – MikeG
@MikeG Weitere Informationen zu Versprechungen und zur Funktionsweise von Cloud Functions finden Sie in diesem Blog mit eingebettetem Video: https://firebase.googleblog.com/2017/06/servieren-ihr-versprechen-was-verwenden-cloud.html –
@MichaelBleigh Ich bekomme immer noch den gleichen Fehler nach dem Ausprobieren – MikeG