2016-11-07 44 views
0

我想從內部調用傳奇(請參閱下面的示例),但是當我發送使用put時,這不會被採用。例如:從內部調用傳奇

function * example() { 
    while (true) { 
    yield take('initialAction') 
    const someAction = yield call(apiClient.someClientAction, parameter) 
    yield put({ type: initialAction' }) 
    } 
} 

我不知道這是否是正確的模式,或者我可能缺少文檔中的某些東西。

在此先感謝!

回答

0

任何有興趣的解決方案,見下圖:

function * example() { 
    const chan = yield actionChannel('initialAction') 
    while (true) { 
    yield take(chan) 
    const someAction = yield call(apiClient.someClientAction, parameter) 
    yield put({ type: initialAction' }) 
    } 
} 

欲瞭解更多信息,check the documentationgithub answer