最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Returning a promise of multiple async functions in a firebase cloud function? - Stack Overflow

programmeradmin2浏览0评论

So I have a Firebase Cloud Function that calls 2 async functions.

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

Both asyncFunction1 and asyncFunction2 return a promise.

Now, Firebase dictates that we should

Resolve functions that perform asynchronous processing (also known as "background functions") by returning a JavaScript promise.

However, since my function is performing two asynchronous processes, what should I return? I tried doing

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

This works: both functions get called and executed correctly, but I also get the error TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined at Function.all when calling the Cloud Function.

Any ideas? Thanks in advance.

So I have a Firebase Cloud Function that calls 2 async functions.

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

Both asyncFunction1 and asyncFunction2 return a promise.

Now, Firebase dictates that we should

Resolve functions that perform asynchronous processing (also known as "background functions") by returning a JavaScript promise.

However, since my function is performing two asynchronous processes, what should I return? I tried doing

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

This works: both functions get called and executed correctly, but I also get the error TypeError: Cannot read property 'Symbol(Symbol.iterator)' of undefined at Function.all when calling the Cloud Function.

Any ideas? Thanks in advance.

Share Improve this question asked Mar 2, 2018 at 12:37 Daniel ValderramaDaniel Valderrama 3411 gold badge3 silver badges13 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 12

You can try Promise.all([asyncFunction1(), asyncFunction2()]). Look on link

发布评论

评论列表(0)

  1. 暂无评论