Firestore Cloud功能优先级

时间:2018-05-14 23:22:10

标签: javascript firebase google-cloud-firestore google-cloud-functions

Firestore Cloud功能优先级

现在我在Firestore数据库中部署了两个云功能。

它们由相同的文档更改触发。

是否可以指定功能的执行顺序或触发顺序?例如,我想让updateCommentNum函数触发拳头,然后触发writeUserLog函数。我怎么能实现这个目标呢?

exports.updateCommentNum = functions.firestore
.document('post/{postId}/comments/{commentsID}')
.onWrite((change, context) => 
{
    //update the comment numbers in the post/{postId}/
}


exports.writeUserLog = functions.firestore
.document('post/{postId}/comments/{commentsID}')
.onWrite((change, context) => 
{
    //write the comment name,text,ID,timestamp etc. in the collection "commentlog"

}

1 个答案:

答案 0 :(得分:3)

无法指示功能之间的相对优先级。

如果您有一个定义的订单,您希望它们被调用,请使用单个Cloud Function并从那里调用两个常规函数:

exports.onCommentWritten = functions.firestore
.document('post/{postId}/comments/{commentsID}')
.onWrite((change, context) => { 
  return Promise.all([
    updateCommentNum,
    writeUserLog
  ])
})

function updateCommentNum(change, context) {
    //update the comment numbers in the post/{postId}/
}

function writeUserLog(change, context) {
    //write the comment name,text,ID,timestamp etc. in the collection "commentlog"
}

这也将减少调用次数,从而降低操作成本。