有没有什么办法可以查看外部文件并在内容发生变化时触发一些事件?
例如,我有外部API,我想观看它。当 API 响应内容改变时,立即触发一些事件。
另一个例子 - 我正在向 API 服务器发出 HTTP GET/POST 请求。 API 返回带有一些数据的 JSON - 例如{"song": "some song name", "timestamp": "123121212"}
.此 API 返回歌曲,即当前正在 radio 中播放的歌曲。当另一首歌曲开始播放时,API 响应内容会更新。
现在我正在使用 shell 和 PHP 更新歌曲 - 我每 10 秒向 API 服务器发出请求,如果有任何更改(我正在记录对数据库的响应),PHP 会在数据库和 socket.io 上更新它(和 Redis)将其显示给客户端。
我不想每 10 秒发出一次请求,那么有什么办法可以观看外部文件吗?
谢谢
最佳答案
不幸的是,如果远程 API 没有提供任何机制让您收到某些更改的通知(例如,通过调用您控制的 URL),那么轮询是您唯一的选择。
也许在你的情况下你可以获得当前歌曲的持续时间,这首歌的当前位置并等待歌曲结束以提出新的请求?例如,如果您知道 Never gonna give you up(持续时间 3:32)正在播放且当前时间为 2:32,您可以安排在大约 1 分钟后进行下一次 API 调用。
关于javascript - 在 node.js 中实时观看外部内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36245568/