【发布时间】:2020-01-14 09:32:46
【问题描述】:
我想在 Meteor.call 回调中调度操作。
我尝试将生成器函数作为回调传递,但不起作用。
function* createRegistrationField(action: CreateRegistrationFieldRequest) {
yield call(function* () {
yield put(CreateRegistrationFieldRequestRunningAction());
});
const { type } = action.payload;
const callBack = function*(error, _id) {
console.log("callback called");
yield put(RegistrationFieldCreatedAction(type, _id));
};
Meteor.call("registerFormFields.insert", { type }, callBack);
};
export function* watchCreateRegistrationField() {
yield takeLatest(CREATE_REGISTRATION_FIELD_REQUEST, createRegistrationField);
};
registerFormFields.insert 看起来像
Meteor.methods({
"registerFormFields.insert" (data: object) {
return RegisterFormFields.insert(data);
},
"registerFormFields.list" () {
return RegisterFormFields.find({}).fetch();
}
});
【问题讨论】:
-
能否请您添加一些有关您希望此方法的行为方式的详细信息。
-
Meteor 不理解生成器函数,所以它会直接调用带有签名 (err, result) 的回调
-
@FredStark 我知道
-
@Jankapunkt 你想知道什么细节?
标签: reactjs meteor redux redux-saga