陪伴而非守候
2023-07-14 14:51:07
這個例子:增加集合的函數(shù)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 結(jié)束可以嗎return?虛空有return;必要嗎?如果我不返回任何內(nèi)容,它會繼續(xù)運行直到超時嗎?就像它在onRequest函數(shù)上所做的那樣?
1 回答

撒科打諢
TA貢獻1934條經(jīng)驗 獲得超2個贊
您的函數(shù)必須返回一個承諾,該承諾在所有異步工作完成時解析。您不能提前返回 - 必須等待完成,否則 Cloud Functions 可能會強制關(guān)閉該函數(shù),并且該函數(shù)將永遠無法完成。
特別是對于可調(diào)用函數(shù),您還必須返回一個用數(shù)據(jù)解析的承諾,以序列化到客戶端應(yīng)用程序。最好對此進行具體說明,而不是嘗試序列化某些未知承諾結(jié)果的結(jié)果。
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
提交
取消