Javascript 如何将参数从redux saga watcher发送到AsyncFunction?

Javascript 如何将参数从redux saga watcher发送到AsyncFunction?,javascript,reactjs,redux-saga,Javascript,Reactjs,Redux Saga,根据我对UI中每个动作的理解,都有一个saga-watcher,它将抓住 actionType并调用asyncFunction从远程服务器获取/发布数据 export function* watcherSaga() { yield takeEvery('SOME_WATCHER_ACTION', fetchAsync) } 而fetchAsync将执行实际的api调用 export function* fetchAsync() { // actual fetch from remote

根据我对UI中每个动作的理解,都有一个
saga-watcher
,它将抓住 actionType并调用
asyncFunction
从远程服务器获取/发布数据

export function* watcherSaga() {
  yield takeEvery('SOME_WATCHER_ACTION', fetchAsync)
}
fetchAsync
将执行实际的
api
调用

export function* fetchAsync() {
  // actual fetch from remote server api call 
  // callapi('/someUrl', someData)
  yield put({ type: 'INCREMENT' })
}
我想让
fetchAsync
像这样的东西变得通用

export function* genericFetchAsync(someUrl, someData, someAction) {
  // actual fetch from remote server api call 
   // let resp = callapi('/someUrl', someData)
  yield put({ type: someAction: payload:  resp })
}
export function* watcherSaga() {
  yield takeEvery('SOME_WATCHER_ACTION', 
  fetchAsync('SOME_ACTION', somedata, someUrl))
}
这样每个观察者都可以这样称呼它

export function* genericFetchAsync(someUrl, someData, someAction) {
  // actual fetch from remote server api call 
   // let resp = callapi('/someUrl', someData)
  yield put({ type: someAction: payload:  resp })
}
export function* watcherSaga() {
  yield takeEvery('SOME_WATCHER_ACTION', 
  fetchAsync('SOME_ACTION', somedata, someUrl))
}

您可以在动作创建者的有效负载中放置一些参数

然后在fetchAsync中调用它们,如下所示:

export function * fetchAsync({ payload }) {} 

有效负载是自动传递的,因此无需在您的
watcherSaga

中执行任何其他操作,您可以在action creator的有效负载中放置一些参数

然后在fetchAsync中调用它们,如下所示:

export function * fetchAsync({ payload }) {} 

有效负载是自动传递的,因此无需在您的
watcherSaga

中执行任何其他操作,但是
somedata
someUrl
如何进入
watcherSaga()
?但是
somedata
someUrl
如何进入
watcherSaga()
??