首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Firebase函数:如何在不引起冷启动的情况下失败可还原事件?

Firebase函数:如何在不引起冷启动的情况下失败可还原事件?
EN

Stack Overflow用户
提问于 2020-11-20 22:30:58
回答 1查看 115关注 0票数 2

给定Firebase函数,在不导致冷启动的情况下,失败事件(意图重试)的正确方法是什么?

这份文件认为,未经处理的错误会导致冷启动。在使用async功能时,我假设这也适用于被拒绝的Promise

抛出新错误(‘我失败了’);//如果没有捕捉到,将导致冷启动

考虑到功能通常依赖于第三方服务,而这些服务可能不是100%可靠的,我不希望我的功能因短暂的下游错误而因冷启动而招致进一步的惩罚。

这甚至是一个推荐的策略吗?我正在使用Firestore,所以我考虑将可还原的事件存储在一个临时集合中,这个集合被计划的云函数所刮取,但这似乎是不必要的复杂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-11-20 22:35:11

被拒绝的承诺本身并不是“未处理的错误”。您所显示的是抛出的异常,与承诺没有任何直接关系。转义函数回调的抛出异常被认为是未处理的。如果您需要有意地失败函数调用,只需返回一个被拒绝的承诺,不要像引用的示例代码现在所做的那样抛出

如果有必要,可以使用Promise.reject()创建一个简单的拒绝承诺

代码语言:javascript
复制
return Promise.reject(new Error('fail'))
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64937797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档