如何“完成”云功能

时间:2018-07-20 15:10:54

标签: firebase google-cloud-functions

我正在用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'});

  });
});

1 个答案:

答案 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});