javascript - 网络钩子(Hook)是什么意思?

标签 javascript node.js webhooks

我已阅读 http://en.wikipedia.org/wiki/Webhook但我仍然不清楚 webhook 的概念。
我对 webhook 有以下疑问:
1.任何人都可以用真实世界的例子解释 webhook 的用途吗?
2.为什么要在应用中使用webhook?

最佳答案

正如维基百科文章中提到的,一个优秀的真实示例是源代码存储库,例如 github。假设您正在使用 github 来管理您的源代码,并使用一个单独的工具(bamboo、jenkins 等)来执行持续集成。每次将代码推送到 github 时,您都希望它触发 CI 工具中的构建。我们将如何实现这一目标?

鉴于主题,答案是“webhooks”也就不足为奇了。

Github 提供了多种 webhook 触发器。参见 https://developer.github.com/webhooks/对于他们的文档 - 具体示例可能会有所帮助。然而,简而言之,每个 webhook 包括:

  • 触发 Hook 的事件(例如“代码被推送到存储库”)
  • 事件发生时 github 应向其发送请求的 URL(例如 CI 包中的传入触发点)
  • 有效负载(将发送到所选 URL 的请求正文)。

这里重要的是github不知道你用的是什么CI系统。它不在乎。它知道在它的域中发生的事件,并且由外部系统来注册它的兴趣并决定如何处理通知。这创建了一个高度通用和可扩展的界面,并避免要求 git 对谁或什么可能想要对其事件使用react做出任何(可能是限制性的)假设。

关于javascript - 网络钩子(Hook)是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23052404/

相关文章:

javascript - 如何使用JavaScript返回不同 anchor 元素的脚注?

node.js - 在 Azure 应用服务中运行 Storybook(不是静态 Storybook)

powershell - Azure Automation Runbook 无法将 webhook 数据解析为 JSON 对象

node.js - 如何结束 Node VM2 当前正在运行的任何代码

asp.net - ASP.NET WebHooks 和 Signalr 之间的区别

facebook - 更改 facebook Messenger bot 的 webhook url

javascript - JavaScript 中的不可变对象(immutable对象)和集合

javascript - jQuery点击事件触发$.confirm堆叠事件

javascript - Ooyala 播放器事件 - 当播放器到达视频的特定点时发出通知

node.js - 使用nodejs从异步函数返回列表