我有一些看起来像这样的代码:
const saga = function* (action) {
yield put({
type: actions.SUCCESS,
payload: action.payload
});
};
const sagaWatcher = createDefaultSagaWatcher(actions, saga);
我要转换为TypeScript。
我需要为generator函数创建一个接口,因此可以在createDefaultSagaWatcher
函数上添加类型检查。我该怎么做呢?
我尝试做这样的事情:
interface ReduxSaga {
(action: ReduxAction)* : any;
}
但是该语法不正确。
答案 0 :(得分:0)
类似于async
修饰符,*
是实现细节。对于函数调用者来说,重要的部分是该函数返回可以迭代的内容,对于调用者而言,如何实现迭代应该无关紧要。因为你想要迭代
返回可以使用IterableIterator<any>
interface ReduxSaga {
(action: ReduxAction): IterableIterator<any>;
}