【问题标题】:Function is looping函数循环
【发布时间】:2018-08-06 13:45:48
【问题描述】:

这个 firebase 函数由于某种原因一直在循环。 谁能告诉我为什么谢谢!

//创建用户后,向Stripe注册

exports = module.exports = functions.firestore.document('/users/{userId}').onUpdate(event => {
    const val = event.data.data();
    if (val === null) return null;
    const email = val.email_address; 
    return admin.firestore().collection('users').doc(`${event.params.userId}`).get().then(snapshot => {
    return snapshot.data();
  }).then(customer => {
        console.log('CUSTOMER EMAIL', customer.email_address);
    return stripe.customers.create({
        email: email,
       }).then((customer) => {
         var data = {
             customer_id: customer.id
        };
          return admin.firestore().collection('users').doc(`${event.params.userId}`).set(data, {merge: true});
        });
    });
});

【问题讨论】:

    标签: node.js firebase stripe-payments google-cloud-functions


    【解决方案1】:

    问题是线条

    exports = module.exports = functions.firestore.document('/users/{userId}').onUpdate(event => {

    return admin.firestore().collection('users').doc('${event.params.userId}').set(data, {merge: true});

    第一个是要求每次用户文档有更新时触发,第二个是更新用户文档中的条目。

    简而言之,您正在修改侦听器中的用户集合条目,该侦听器侦听用户集合中的更新。

    您可以通过将第一行更改为来修复它

    exports = module.exports = functions.firestore.document('/users/{userId}').onCreate(event => {

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-07-13
      • 2019-08-28
      • 2021-12-03
      • 2016-01-04
      • 2021-01-14
      • 1970-01-01
      相关资源
      最近更新 更多