javascript - 在 node.js 中实时观看外部内容

标签 javascript php json node.js redis

有没有什么办法可以查看外部文件并在内容发生变化时触发一些事件?

例如,我有外部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/

相关文章:

python - 在python中,如何最好地插入给定变量路径和值的键:value to json,

javascript - 添加新属性 :value pair to existing JSON object

javascript - 访问 Json 对象

php - 从 PHP 脚本运行 PHP 脚本的最佳实践是什么?

php - 将 Web 应用程序 (ZF2) 转换为 PHAR

php - Internet Explorer 9 中的意外问题,假设它是由 html/css 引起的

ios - Realm - 对象映射和持久化 AnyObject 类型

javascript - 为什么 JavaScript 中的 SQLite 不起作用?

javascript - 通过javascript获取移动设备硬件信息

javascript - 将文本区域中的少量文本更改为粗体