redux-saga generator巢狀執行的阻塞與非阻塞
阿新 • • 發佈:2018-11-11
1.generator呼叫generator
在one
中yield另一個generatoranother
function*another(params){
// ...
}
function*one(params,{ call, put }){
// ...
yield another(params)
// ...
}
1.yield後面接 generator(),帶括號
2.可以傳入引數,another
也能接收到
3.another
的執行是會中斷one
的執行的,也就是說,
one
會得到another
執行完了之後才繼續往後執行
另外
yield another(params)
yield call(another,params)
這兩種寫法是等價的,
call的作用就是把函式和引數並列排列
2. generator中put另一個action
function*one(params,{ call, put }){
// ...
yield put({ type: 'another' })
// ...
}
這樣one
是不會等待的another
的,
直接就往後走了