使用节点,该过程一旦执行完毕就不会退出

时间:2019-02-27 02:00:43

标签: node.js firebase firebase-cloud-messaging aws-serverless

运行具有与下面类似的主体的代码,代码可以正常运行,但是一旦完成连接就不会关闭,我看过node process doesn't exit after firebase once,但是我在寻找可以赢的东西每次在无服务器框架中使用该功能时,都不会给我一个错误。

const firebase = require('firebase-admin');

return new Promise((resolve, reject) => {
    var message = {
        notification: {
          title: `**`,
          body: `**`
        },
        condition: `**`
      };
      firebase.messaging().send(message).then((response) => {
        resolve(response);
      })
      .catch((error) => {
          reject(error);
      });
    });

如何在不产生无服务器错误的情况下退出该过程?

2 个答案:

答案 0 :(得分:0)

您的问题有点含糊,所以我可能会误会,但是我认为您只需要process.exit()即可终止Node进程。

contentPadding

答案 1 :(得分:0)

我做了更多研究,发现在不退出AWS无服务器功能的情况下执行此操作的方法是使用firebase.messaging().goOffline()函数而不是process.exit()函数

const firebase = require('firebase-admin');

return new Promise((resolve, reject) => {
    var message = {
        notification: {
          title: `**`,
          body: `**`
        },
        condition: `**`
      };
      firebase.messaging().send(message).then((response) => {
        resolve(response);
        firebase.messaging().goOffline();
      })
      .catch((error) => {
          reject(error);
          firebase.messaging().goOffline();
      });
    });