API
Middleware API
createSagaMiddleware(...sagas):创建Redux中间件,将Sagas与Redux Stroe建立连接。middleware.run(saga, ...args):动态执行Saga,用于applyMiddleware阶段之后执行Sagas。
Saga Helpers辅助函数
takeEvery(pattern, saga, ...args):在发起action与pettern匹配时派生指定的saga。takeLatest(pattern, saga, ...args):在发起action与pettern匹配时派生指定的saga,并且取消之前启动的所有saga任务(如果在执行中)。
Effect creators创建器
take(pattern):创建一条 Effect 描述信息,指示 middleware 等待 Store 上指定的 action。Generator 会暂停,知道一个与pattern匹配的action被发起put(action):指示 middleware 发起一个action到 Storecall(fn, ...args):指定 middleware 调用fn函数并以args为参数call([context, fn], ...args):同上,但是支持fn指定this上下文apply(context, fn, args):同上,参数为数组cps(fn, ...args):指示 middleware 以 Node 风格掉哟功能fn函数cps([context, fn], ...args):支持为fn指定this上下文(调用对象方法)fork(fn, ...args):指示 middleware 以 无阻塞调用 方式执行fnfork([context, fn], ...args):同上,但是支持fn指定上下文join(task):指示 middleware 等待之前的fork任务返回结果cancel(task):指示 middlware 取消之前的fork任务select(selector, ...args):指示 middleware 调用提供的选择器获取 Store state 上的数据
Effect combinators
race(effects):指示 middleware 在多个 Effect 之间执行一个race的操作[...effects] (aka parallel effects):指示 middleware 并行执行多个 Effect,并等待所有 Effect 完成
interface
Tasktask.isRunning():如果任务还未返回或跑出了一个错误则返回truetask.result():任务的返回值,如果任务正在执行中则返回undefinedtask.error():任务抛出的错误,如果任务正在执行中则返回undefinedtask.done:Promise(以任务的返回值resolve、以任务抛出的错误reject)task.cancel():取消任务(如果任务还在执行中)
External API
runSaga(iterator, {subscribe, dispatch, getState}, [monitor]):允许在 Redux middleware 环境外部启动 sagas。当你想将 Saga 连接至外部的输入和输出时,而不是 Store 的 action,会很有用。
工具
channel([buffer])
最后更新于