0
다음 기능은 쉘로 테스트 할 때 잘 작동하며 데이터는 파이어 스토어에서 생성됩니다. 찌르기에서 밀 때, Function execution took 60002 ms, finished with status: 'timeout'
Firebase 클라우드 기능 제한 시간
어떤 입력이라도?
exports.synchronizeAzavista = functions.auth.user().onCreate(event => {
console.log('New User Created');
const user = event.data;
const email = user.email;
const uid = user.uid;
return admin.database().ref(`/delegates`)
.orderByChild(`email`)
.equalTo(email)
.once("child_added").then(snap => {
const fbUserRef = snap.key;
return admin.firestore().collection(`/users`).doc(`${fbUserRef}`).set({
email: email,
uid: uid
}).then(() => console.log("User Created"));
});
});
편집
나는 다음에 내 코드를 업데이트했습니다,하지만 난 여전히 Function returned undefined, expected Promise or value
을 받고 있지만 어디에 내 함수 반환 정의되지 않은 내가 식별 할 수 없습니다. 내 getUser()
함수가 아무 것도 반환하지 않는 이유는 무엇입니까?
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);
exports.synchronizeAzavista = functions.auth.user().onCreate(event => {
console.log('New User Created');//This log
const user = event.data;
const email = user.email;
const uid = user.uid;
console.log('Const are set');//This log
getUser(email).then(snap => {
console.log("User Key is " + snap.key);//No log
const fbUserRef = snap.key;
return admin.firestore().collection(`/users`).doc(`${fbUserRef}`).set({
email: email,
uid: uid
});
}).then(() => console.log("User Data transferred in Firestore"));
});
function getUser(email) {
console.log("Start GetUser for " + email);//This log
const snapKey = admin.database().ref(`/delegates`).orderByChild(`email`).equalTo(email).once("child_added").then(snap => {
console.log(snap.key);//No Log here
return snap;
});
return snapKey;
}
감사합니다. @ 프랭크, 그럼 그때() 그 약속 (세트) 죽일 의미합니까? – Benoit