Javascript Can';无法在FireFunctions上的res.send()之后获取集合

Javascript Can';无法在FireFunctions上的res.send()之后获取集合,javascript,firebase,google-cloud-firestore,google-cloud-functions,Javascript,Firebase,Google Cloud Firestore,Google Cloud Functions,在我将firebase admin和firebase函数更新到其最新版本(分别从8.0.0更新为8.12.1和从3.1.0更新为3.6.1)之后,在发送响应后向Firestore查询集合突然停止工作,因此我的代码基本上如下所示: export const saveData = functions.https.onRequest(async (req, res) => { // Doing some stuff here... res.send({data: cards});

在我将firebase admin和firebase函数更新到其最新版本(分别从8.0.0更新为8.12.1和从3.1.0更新为3.6.1)之后,在发送响应后向Firestore查询集合突然停止工作,因此我的代码基本上如下所示:

export const saveData = functions.https.onRequest(async (req, res) => {

  // Doing some stuff here...

  res.send({data: cards});

  // Some other logic I need to perform here after sending response to avoid more delays
  db.collection(path).get().then(snapShot => {
    // This code simply doesn't get excuted and no error is triggered
  }).catch(err => console.log(err))
}
如果我将res.send移动到集合查询回调中,那么它就会被执行。我已经做了一些研究,但找不到它不再工作的原因,所以希望有人能给我指出解决方案或解决方法,因为等待所有进程运行将大大延迟响应

谢谢

如果我将res.send移到集合查询回调中,则会执行它

这正是你应该做的。我永远不会期望您现在显示的代码能够正常工作

在云函数HTTP触发器中,发送响应是最不应该做的事情。如中所述,发送响应将终止函数并关闭所有内容。在发送响应后,不可能让函数继续执行。如果你在过去看到不同的行为,这可能是由于种族条件