merge([eventA, eventB])
Creates an event, which fires when one of passed events has triggered
Arguments
events
(array): events list
Returns
(Event
)
Example
import { createEvent, merge } from 'effector'
const foo = createEvent()
const bar = createEvent()
const baz = merge([foo, bar])
baz.watch(value => console.log(`merged event triggered: ${value}`))
foo('foo') // => merged event triggered: foo
bar('bar') // => merged event triggered: bar
Try
for example, we should set form submitting status to false
after request succeeded or returned error.
import { createStore, createEffect, merge } from 'effector'
const submit = createEffect('submit form', {
handler: () => new Promise((resolve) => {
setTimeout(resolve, 1000)
})
})
const submitting = createStore(false)
.on(submit, () => true)
.on(merge([submit.done, submit.fail]), () => false)
submit()
Try