2017-06-27 16 views
2

私はAPIをフェッチするサガ(A)を持っています。これは行動(a)と結びついている。私は内部的に(a)を呼び出し、それが完了するのを待ってから、yield何かのアクション(b)をトリガーしたい。redux-sagasでアクションを待つ方法はありますか?

// saga A -> action_a 
function *saga_a(action) { 
    yield put(...action1...); 
    yield call(api, ...params); 
    yield put(...action2...); 
} 


// saga B -> action_b 
function *saga_b(action) { 
    yield put(..action3..) 

    waitFor -- put(action_a)  <------ how to achieve this? 

    yield put(..action4..) 
} 
+0

'await put(action_a)'は機能しますか? –

+0

「待っていない」方法がありますか? –

答えて

1

私のコードベースは、他のサガを直接呼び出すことです。残念なことに2つを一緒に結合しますが、カップリングが少なくとももっと明確になるのを待つ必要があるためです。

function *saga_b(action) { 
    yield put(..action3..) 
    yield call(saga_a, action_a) 
    yield put(..action4..) 
} 
+0

これは私がやったことです。私はそれを行うよりクリーンな方法を望んでいた。しかし、私は誰もないと思う。答えをありがとう。 –

関連する問題