响应事件

useEvent

安全的读取 event 和 next

import { useEvent } from 'alemonjs'
export default () => {
  const [event, next] = useEvent({
    selects: ['message.create'],
    regular: /hello/ // 可选,正则匹配
  })
  // 匹配结果为布尔值
  if (!event.match.selects || !event.match.regular) {
    next()
    return
  }
  // 匹配成功,通过 event.current 访问事件对象
  // 通过 event.value 访问原始数据
}

执行周期

中间件之前 subscribe(create) >

中间件时 middleware >

中间件之后/响应之前 subscribe(mount) >

响应时 response >

响应之后 subscribe(unmount)

不执行next()表示结束后续匹配。

Next(Bool)

import { useEvent } from 'alemonjs'
export default () => {
  const [_, next] = useEvent({})
  // 当前周期中进行
  next()
  // 下一个周期中进行
  next(true)
  // 下下个周期中进行
  next(true, true)
  // 以此类推
}