私は、2つのリストを相互参照し、リスト全体で互いに一致する値を見つけるのにクラウド関数を使用しています。関数は正常に動作しているようですが、ログでは私はこれを見て続けますError serializing return value: TypeError: Converting circular structure to JSON
。ここで私はcompletionRef.set(matchedContacts);
の前でreturn
を入れてみまし機能...Firebaseのクラウド関数 - 戻り値のシリアル化エラーのエラー:
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
});
});
はあるが、それはまだ私にエラーを与えます。私が間違ってやっていることとそのエラーを取り除く方法をよく分からない。ご協力いただきありがとうござい
私はこれを試します。 'Promise.all([...])が何であるか説明できますか? – MikeG
@MikeG約束とクラウド機能との関係については、埋め込みビデオを使用したこのブログをご覧ください:https://firebase.googleblog.com/2017/06/keep-your-promises-when-using-cloud.html –
@MichaelBleighこれを試した後も同じエラーが表示されます。 – MikeG