Custom Event Messages
To be able to build real world systems, you will need to send events, which will be consumed by subscriptions or third party providers. The sender does/should not need to know, who is consuming this information.
Emitting custom events is quite easy. The function context and the subscription context containing a helper function emit
. This async emit
function has two parameters. The event name and the optional payload to be sent.
Example:
typescript
.setCommandFunction(async function ({ emit }, payload, _param) {
await emit('MyEventName', { some: 'Payload' })
}
// you can also set an explicit type for payload
.setCommandFunction(async function ({ emit }, payload, _param) {
await emit<number>('MyEventName', 1)
}
The emitted message will have the current service (name & version & function/subscription-name) as sender address. But there is no receiver defined at all. Emitting a custom event will be broadcasted without a specific receiver. It is up to you, to ensure, that there is somebody who listens for this event.