[英]Typescript interface to define a generator
我有一些看起來像這樣的代碼:
const saga = function* (action) {
yield put({
type: actions.SUCCESS,
payload: action.payload
});
};
const sagaWatcher = createDefaultSagaWatcher(actions, saga);
我正在轉換為TypeScript。
我需要為生成器函數創建一個接口,以便可以在createDefaultSagaWatcher
函數上添加類型檢查。 我該怎么做呢?
我嘗試做這樣的事情:
interface ReduxSaga {
(action: ReduxAction)* : any;
}
但是該語法不正確。
就像async
修飾符一樣, *
是實現細節。 對於函數調用者而言,重要的是,函數返回可以迭代的內容,迭代的實現方式與調用者無關。 由於您希望迭代返回任何內容,因此可以使用IterableIterator<any>
interface ReduxSaga {
(action: ReduxAction): IterableIterator<any>;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.