首页 文章

在firebase Cloud 功能中返回多个异步函数的承诺?

提问于
浏览
4

所以我有一个Firebase Cloud 功能,可以调用2个异步功能 .

exports.someFunction = functions.firestore
  .document('some/path')
  .onCreate(event => {
    asyncFunction1();
    asyncFunction2();
  });

asyncFunction1和asyncFunction2都返回一个promise .

现在,Firebase dictates我们应该

通过返回JavaScript承诺来解析执行异步处理的函数(也称为“后台函数”) .

但是,由于我的函数正在执行两个异步进程,我应该返回什么?我试过了

exports.someFunction = functions.firestore
  .document('some/path')
  .onCreate(event => {
    return Promise.all(
      asyncFunction1(),
      asyncFunction2()
    );
  });

这样做:两个函数都被正确调用和执行,但是在调用Cloud Function时我也得到错误 TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined at Function.all .

有任何想法吗?提前致谢 .

1 回答

  • 5

    你可以试试 Promise.all([asyncFunction1(), asyncFunction2()]) . 看link

相关问题