订阅 angular 中的 json 文件

Subscribe to a json file in angular

我正在从一个 JSON 文件中读取一个变量,该文件正在由 .NET 应用程序更新。在我的 angular 组件中,我正在从这个 JSON 文件中获取输入。我们可以订阅此输入 JSON 文件中的任何更改吗?

之所以从JSON文件中读取,是因为工作流程是这样的。 .NET 应用程序正在为我提供输入,而在另一台服务器上,Angular Web 应用程序是 运行,它接受输入。通过路由,我不能传递这么复杂的对象。

inputIDs = [
    {
      entityType: "A",
      guids: [
        "6EACCBAE83E",
        "F3354548399",
      ],
    },
    {
      entityType: "B",
      guids: [
        "4CB2FF7EC199",
        "DC60A9F4weCA",
      ],
    },
  ];

这就是我决定在两者之间使用 json 文件的原因。这种做法也是正确的吗?

如果您想要从此 json 文件进行更新,您将需要使用“轮询”。您可以在此处阅读有关如何使用 rxjs 执行此操作的更多信息:Polling in rxjs.

这基本上会每隔 X seconds/minutes 请求完整的 json 文件。在 Angular 中,它看起来像是对文件所在的正确文件 path/url 的正常 GET http 调用。

如果您想立即获得文件更新,您将不得不研究推送消息。基本上从服务器向客户端发送消息。这在 Angular 中很容易做到,但在设置时需要一些后端工作。

And that's why I decided to use a json file in between. Is this approach also correct?

我永远不会推荐它,这不是现代网络应用程序与服务器通信的方式。您应该在后端定义一个端点,该端点 returns 对前端的 json 响应。这是因为在文件系统上保存文件很容易出错。您有可能发生各种锁定和损坏。 这当然取决于你在什么样的环境中工作,以及你在修改现有代码时有多少选择。