簡體   English   中英

Typescript接口定義生成器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM