Typescript接口定义生成器

时间:2019-05-10 05:42:57

标签: typescript generator

我有一些看起来像这样的代码:

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; 
}

但是该语法不正确。

1 个答案:

答案 0 :(得分:0)

类似于async修饰符,*是实现细节。对于函数调用者来说,重要的部分是该函数返回可以迭代的内容,对于调用者而言,如何实现迭代应该无关紧要。因为你想要迭代 返回可以使用IterableIterator<any>

的任何内容
interface ReduxSaga {
    (action: ReduxAction): IterableIterator<any>; 
}