我刚刚开始在我的项目中应用sagas。 目前,我停留在某个时候。我需要通过佐贺将参数传递给call函数。
这是我在传奇中的生成器函数:
public* loadUsers() {
const context = this;
yield takeLatest("users/LOAD_USERS_REQUEST", function* (params) {
const data = yield call([context.userService, context.userService.loadUsers]);
yield put("users/LOAD_USERS_SUCCESS", data));
});
}
我需要将params
变量传递给UserService.loadUsers
方法。
我该怎么做?
干杯。
答案 0 :(得分:0)
根据call
函数定义:
interface CallEffectFactory<R> {
(fn: CallEffectFn<Func0>): R;
<T1>(fn: CallEffectFn<Func1<T1>>,
arg1: T1): R;
<T1, T2>(fn: CallEffectFn<Func2<T1, T2>>,
arg1: T1, arg2: T2): R;
....
我们可以看到它接受CallEffectFn
参数之后的参数。
因此,在您的情况下,您可以像这样将params
变量作为call
函数的第二个参数传递:
public* loadUsers() {
const context = this;
yield takeLatest("users/LOAD_USERS_REQUEST", function* (params) {
const data = yield call([context.userService, context.userService.loadUsers],params);
yield put("users/LOAD_USERS_SUCCESS", data));
});
}