解决的承诺没有退出

时间:2020-07-22 23:52:34

标签: javascript node.js firebase firebase-cloud-messaging firebase-admin

我不确定为什么我的函数在运行后没有退出。解决承诺后,代码不会退出执行。

我正在使用Firebase Admin SDK发送以下消息:

var message = {
    data: {
        score: '850',
        time: '2:45'
    },
    topic: topic
};

admin.messaging().sendAll([message])
.then((response) => {
    // Response is a message ID string.
    console.log('Successfully sent message:', response);
})
.catch((error) => {
    console.log('Error sending message:', error);
});

在打印到控制台“成功发送消息:”后,代码控制台仍在运行,并且不会返回。我在做什么错了?

作为参考,这里是firebase消息发送的签名:

send(message: admin.messaging.Message, dryRun?: boolean): Promise<string>;

1 个答案:

答案 0 :(得分:0)

Firebase Admin SDK中可能存在某些阻止该进程退出的事件。您可以通过在回调process.exit(0)的末尾添加then(如果您希望终止)来强制退出该过程。

如果您认为此行为是错误,则可以将其提交到Firebase Admin SDK GitHub