我正在用TypeScript编写我的第一个Firebase Cloud Function。该函数查询Firestore,以查找与参数匹配的文档。该文档说,使用诺言时,我需要“完成”诺言,以便函数知道何时可以完成。我怎么做?这是我的功能。
顺便说一句,我的函数现在仅返回“未找到”结果。它确实有效。确实会将响应发送到我的客户端应用程序,但仅在功能超时后发送。
export const validateMemberPin = functions.https.onRequest((request, response) => {
console.log('pin: ' + request.query.pin);
const query = admin.firestore().collection('access').where('memberPin', '==', request.query.pin);
return query.get().then((snapshot) => {
if (snapshot.empty)
response.json({'result': 'false'});
});
});
答案 0 :(得分:1)
云函数具有NodeJS环境,因此,要结束函数,只需添加return语句,就您而言,只需在response.json
之前添加return即可,
return query.get().then((snapshot) => {
if (snapshot.empty)
return response.json({'result': 'false'});
});
但是,最好同时处理两种情况:
return query.get().then((snapshot) => response.json({'result': !snapshot.empty});