Firebase 函数:如何按顺序触发函数

Firebase Function : How to trigger Functions in order

我想知道 firebase 函数触发器是否支持按顺序调用,换句话说,一个接着一个!例如,我在等我的披萨买,但在我面前有 15 个人,所以我必须等人,然后我买披萨。

这有帮助吗?! :

var Queue = require('firebase-queue');
var admin = require('firebase-admin');

var serviceAccount = require('path/to/serviceAccountCredentials.json');
admin.initializeApp({
  credential: admin.credential.cert(serviceAccount),
  databaseURL: '<your-database-url>'
});

var ref = admin.database().ref('queue');
var queue = new Queue(ref, function(data, progress, resolve, reject) {
  // Read and process task data
  console.log(data);

  // Do some work
  progress(50);

  // Finish the task asynchronously
  setTimeout(function() {
    resolve();
  }, 1000);
});

根据 Firebase documentation,限制之一是无法保证触发 Cloud Functions 的顺序。此外,单个事件可能会导致多个 Cloud Functions 调用。

可以在 中找到变通方法的详细说明。这里社区成员的解决方法是存储一个 admin.database.ServerValue.TIMESTAMP 列表添加并在结果计算器中验证它产生了最新时间戳的结果。如果没有,它会重试。