- 服务器 Server
- server([options])
- Server options
- 服务器属性 Server properties
- server.auth.default(options)
- server.auth.scheme(name, scheme)
- server.auth.strategy(name, scheme, [options])
- await server.auth.test(strategy, request)
- await server.auth.verify(request)
- server.bind(context)
- server.cache(options)
- await server.cache.provision(options)
- server.control(server)
- server.decoder(encoding, decoder)
- server.decorate(type, property, method, [options])
- server.dependency(dependencies, [after])
- server.encoder(encoding, encoder)
- server.event(events)
- await server.events.emit(criteria, data)
- server.events.on(criteria, listener)
- server.events.once(criteria, listener)
- await server.events.once(criteria)
- server.expose(key, value)
- server.expose(obj)
- server.ext(events)
- server.ext(event, method, [options])
- await server.initialize()
- await server.inject(options)
- server.log(tags, [data, [timestamp]])
- server.lookup(id)
- server.match(method, path, [host])
- server.method(name, method, [options])
- server.method(methods)
- server.path(relativeTo)
- await server.register(plugins, [options])
- server.route(route)
- server.rules(processor, [options])
- await server.start()
- server.state(name, [options])
- server.states.add(name, [options])
- await server.states.format(cookies)
- await server.states.parse(header)
- await server.stop([options])
- server.table([host])
- Route options
- route.options.app
- route.options.auth
- route.options.bind
- route.options.cache
- route.options.compression
- route.options.cors
- route.options.description
- route.options.ext
- route.options.files
- route.options.handler
- route.options.id
- route.options.isInternal
- route.options.json
- route.options.jsonp
- route.options.log
- route.options.notes
- route.options.payload
- route.options.plugins
- route.options.pre
- route.options.response
- route.options.rules
- route.options.security
- route.options.state
- route.options.tags
- route.options.timeout
- route.options.validate
- Request lifecycle
- 请求
- 插件
server.events.on(criteria, listener)
注册事件,其中:
criteria
- 订阅标准必须是以下之一:事件名称字符串,可以是 built-in server events 中的任何一个,也可以是使用
server.event()
注册的自定义应用程序事件。带有以下可选键的条件对象(除非另有说明):
name
- (必要) 事件名称字符串。channels
- 一个字符串或字符串数组,指定要订阅的事件通道。 如果事件注册指定了允许的通道列表,channels
数组必须与允许的通道匹配。 如果指定了channels
,则不包含任何通道指定的事件更新将不包含在订阅中。 默认为没有过滤.clone
- 如果是true
,则传递给server.event.emit()
的data
对象在传递给listener
方法之前被克隆。 默认为事件注册选项 (默认为false
).count
- 一个正整数,表示可以调用listener
的次数,之后自动删除订阅。 计数1
与调用server.events.once()
相同。默认为没有限制filter
- 订阅的事件标记(如果存在)可以是以下之一:tag 字符串。
tag 字符串数组。
具有以下内容的对象:
tags
- tag 字符串或字符串数组all
- 如果为true
, 必须存在所有tags
才能使事件更新与订阅匹配。 默认为false
(至少匹配一个 tag).
spread
- 如果是true
,并且传递给server.event.emit()
的data
对象是一个数组, 调用listener
方法,每个数组元素作为单独的参数传递。 仅当触发的数据结构已知且可预测时,才应使用此方法。 默认为事件注册选项 (默认为false
).tags
- 如果true
和criteria
对象传递给server.event.emit()
包含tags
, 标记被映射到一个对象(其中每个标记字符串是键,值是true
),它被附加到末尾的参数列表中。 默认为事件注册选项 (默认为false
).
listener
- 处理程序方法设置为接收事件更新。 函数签名取决于事件参数,以及spread
和tags
选项。
返回值: 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论