这个例子:增加集合的函数VIEWCOUNT。不需要return什么。也没有必要await打电话firestore...update()。export const onCall_updateViewCount = functions.https.onCall((data, context) => { const { id } = data; const VIEWCOUNT = COLLECTIONS.VIEWCOUNT; admin.firestore().collection(VIEWCOUNT).doc(VIEWCOUNT).update({ [id]: admin.firestore.FieldValue.increment(1) }); return;});终止此功能的正确方法是什么?以 void 结束可以吗return?虚空有return;必要吗?如果我不返回任何内容,它会继续运行直到超时吗?就像它在onRequest函数上所做的那样?
1 回答
撒科打诨
TA贡献1934条经验 获得超2个赞
您的函数必须返回一个承诺,该承诺在所有异步工作完成时解析。您不能提前返回 - 必须等待完成,否则 Cloud Functions 可能会强制关闭该函数,并且该函数将永远无法完成。
特别是对于可调用函数,您还必须返回一个用数据解析的承诺,以序列化到客户端应用程序。最好对此进行具体说明,而不是尝试序列化某些未知承诺结果的结果。
export const onCall_updateViewCount = functions.https.onCall((data, context) => {
const { id } = data;
const VIEWCOUNT = COLLECTIONS.VIEWCOUNT;
return admin.firestore().collection(VIEWCOUNT).doc(VIEWCOUNT).update({
[id]: admin.firestore.FieldValue.increment(1)
})
.then(() => {
return { result: "OK" };
});
});
添加回答
举报
0/150
提交
取消