Github如何立即更新其Web界面?

马特·迪卡利翁

Github上有些东西几乎可以立即更新。一个示例是,当合并分支被推送时,其对应的拉取请求将merged几乎立即更新为状态。

实时Github拉取请求状态更新

我以为这是一个WebSocket,但是在我的devtools(或Wireshark)中看不到任何websocket,那么我认为它可能是Push API,但是我不需要选择启用它才能工作吗?

我之所以问是因为我正在寻找一种在Web应用程序中向用户推送(近)实时更新的方法,而且我很好奇Github的做法。

贝特朗·马特尔

Github.com使用websocket进行通知,但让我们看看websocket的名称

Github.com使用网络工作者具体来说,为了进行通知,他们正在使用共享工作器,这就是为什么您在浏览上下文的“网络”选项卡中看不到网络活动的原因。

为了查看共享的工作程序,在新的标签类型中:“ chrome:// inspect /#workers”,您将看到类似以下内容:

enter image description here

点击检查,然后转到网络标签:

enter image description here

如果未显示任何内容,请单击“终止”并刷新另一个选项卡页面(github.com),以便再次显示

此文件(behaviors-xxxx.js)加载工作程序网址:

this.worker = new SharedWorker("/socket-worker.js","socket-worker-v7"),

通过以下脚本加载工作程序:https : //github.com/socket-worker.js

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章