javascript - RxJs 主题未在生产环境中触发订阅,但可用于开发和测试
问题描述
昨天,我的团队在部署到测试服务器后将我们的 Angular 应用程序部署到了生产服务器。
该应用程序在开发模式和测试服务器上工作,但在生产服务器上,主题没有触发他们的订阅。发布到测试的相同版本在生产中发布,没有文件差异。
RxJs 是否要求一些我不知道的系统设置会导致主题不工作?我不知道如何调试它,也不知道它不工作的原因是什么。
主题所在的服务是单例的,我在 ngOnDestroy 块中取消订阅,它在测试中有效,所以我认为这不是代码问题。
任何帮助或提示我应该去发现它为什么不起作用的方向表示赞赏。
使用角度 6.2.2。
解决方案
我们已经设法解决了一段时间,但我还没有发布答案。
问题在于 SQL 服务器读写节点有一个微小的延迟,这意味着在我们向写入节点发送写入后,我们会在收到响应后立即触发读取,但读取节点没有日期尚未更新(延迟为几毫秒),因此我们再次获得了相同的数据,这使我们认为订阅没有触发,因为我们可以看到数据库中的值更改但看不到延迟。
推荐阅读
- c++ - 即使对象存在,读取也无效
- node.js - 从本地部署到 Heroku,然后从 Github 切换到 Heroku
- maven - 如何让 Artifactory 使用最新的(而不是最旧的)快照工件?
- python - 如果它们是 str/text 格式,如何比较 2 个日期时间值?
- laravel-blade - Laravel 后备视图
- c# - 生成签名包/APK 不包含插件
- angular - 根据选择值禁用 Angular Reactive 表单输入
- typescript - 受保护路由的 jest.mock express-jwt 中间件行为
- javascript - Vue - 动态导入 Vue 组件
- azure-active-directory - 带有确认屏幕的 Azure AD B2C 重置密码自定义策略