【发布时间】:2018-09-02 23:11:05
【问题描述】:
在函数日志中,我可以看到它正在运行并且更新已应用于文档,但是它正在超时。
日志显示:
11:41:47.474 PM addContact 函数执行耗时 60003 毫秒,完成 状态:“超时”
11:40:47.743 PM addContact 交易成功!
11:40:47.659 PM addContact 9 9
11:40:47.659 PM 添加联系方式
11:40:47.659 PM addContact 8 8
11:40:47.656 PM 添加联系方式
11:40:47.472 PM addContact 函数执行开始
exports.addContact = functions.https.onRequest((req, res) => {
let user_id="fhr..."
let asker_id="wnz...";
let giver_id="Sp7...";
//const requestRef = admin.firestore().collection('contactRequests').doc(user_id)
const askerRef = admin.firestore().collection('users').doc(asker_id)
const giverRef = admin.firestore().collection('users').doc(giver_id)
var transaction = admin.firestore().runTransaction(t => {
return t.getAll(giverRef, askerRef)
.then(docs => {
const id1 = docs[0];
const id2 = docs[1];
if ((id1.exists && id2.exists)) {
// do stuff
let giverContacts = docs[0].data().foo
let askerContacts = docs[1].data().foo
console.log("****")
console.log(giverContacts, askerContacts)
giverContacts=giverContacts+1
askerContacts=askerContacts+1
console.log("****")
console.log(giverContacts, askerContacts)
t.update(giverRef, {foo: giverContacts})
t.update(askerRef, {foo: askerContacts})
return true
} else {
throw new Error();
}
})
})
.then(result => console.log('Transaction success!') )
.catch(err => console.log('Transaction failure:', err) );
return transaction;
});
【问题讨论】:
标签: firebase google-cloud-firestore google-cloud-functions