返回介绍

server.event(events)

发布于 2024-02-12 19:53:56 字数 1618 浏览 0 评论 0 收藏 0

注册自定义应用程序事件:

  • events - 必须是以下之一:

    • 一个事件名称字符串.

    • 带有以下可选键的事件选项对象 (除非另有说明):

      • name - 事件名称字符串 (必须).

      • channels - 指定可用事件通道的字符串或字符串数组。 默认为没有通道限制(事件更新可以指定通道或不指定通道)。

      • clone - 如果为 true , 传递给 server.events.emit()data 对象在传递给侦听器之前被克隆 (除非每个监听器指定一个覆盖). 默认为 false ( data 按原样传递).

      • spread - 如果为 true , 传递给 server.event.emit()data 对象必须是一个数组,并且调用 listener 方法,每个数组元素作为单独的参数传递( 除非每个监听器指定一个覆盖)。 仅当已发射的数据结构已知且可预测时,才应使用此方法. 默认为 false ( data 作为单个参数发出,无论其类型如何).

      • tags - 如果 truecriteria 对象传递给 server.event.emit() 包括 tags 。 标记被映射到一个对象(其中每个标记字符串是键,值是 true ),它被附加到末尾的参数列表中。 每个侦听器都可以设置配置覆盖。 默认为 false .

      • shared - 如果为 true ,则可以多次注册相同的事件 name ,而忽略第二次注册。 请注意,如果在注册之间更改注册配置,则仅使用第一个配置。 默认为 false (重复注册会引发错误).

    • 一个 podium 触发器对象。

    • 包含上述任何内容的数组

返回值: none.

const Hapi = require('hapi');

async function example() {

  const server = Hapi.server({ port: 80 });
  server.event('test');
  server.events.on('test', (update) => console.log(update));
  await server.events.emit('test', 'hello');
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文