javascript - 承诺解决不退出
问题描述
我不确定为什么我的函数在运行后没有退出。解决承诺后,代码不会退出执行。
我正在使用 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>;
解决方案
Firebase Admin SDK 中可能存在阻止进程退出的内容。完成后,您可以通过简单地添加process.exit(0)
到then
回调的末尾来强制进程退出,如果那是您希望它终止的时候。
推荐阅读
- azure - 试图从输入参数列表中排除一组虚拟机
- javascript - 在 Puppeteer.js 中获取 page.evaluate 之外的根文档对象
- haskell - Haskell 中的随机函数
- python - 创建在循环中使用 *args 的 lambda
- regex - 正则表达式:匹配字符集中的字符串,但需要恰好有特定字符的 X 个计数
- javascript - 具有特定变量的唯一 ID,以使用所述变量调用数组中的函数
- python - Python pandas 总结了数据框中的往返行程
- swift - 如何为具有给定前缀的 URL 提供文件?
- javascript - 使用反应路由器时如何在页面上取消渲染元素
- react-native - react原生屏幕的布局如何设计?