Effector

Effector

  • Docs
  • Try
  • API
  • Blog
  • GitHub

›effector

effector

  • API Reference
  • createEvent
  • Event
  • createEffect
  • Effect
  • createStore
  • Store
  • sample
  • createDomain
  • Domain
  • combine
  • createStoreObject
  • createApi
  • restore
  • forward
  • fromObservable
  • merge

effector-react

  • API Reference
  • createStoreConsumer
  • createComponent
  • createGate
  • useGate
  • useStore
  • useStoreMap
  • Gate

effector-vue

  • API Reference
  • VueEffector
  • ComponentOptions
  • Vue
Edit

merge([eventA, eventB])

Creates an event, which fires when one of passed events has triggered

Arguments

  1. 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

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()
← fromObservableAPI Reference →
Effector
Docs
Getting StartedAPI Reference
Community
User ShowcaseStack OverflowGitter
More
GitHubStar
Copyright © 2019 zerobias