https://redux-saga-in-chinese.js.org/docs/introduction/BeginnerTutorial.html
https://devpress.csdn.net/react/62ed6a6ec6770329307f2514.html
import { call,fork,put,take ,select} from 'redux-saga/effects'
race
1
第一個被 resolve(或 reject)的任務
2
會自動取消那些失敗的 Effects
takeLatest
只想得到最新那個請求的響應
之前的這個任務會被自動取消
takeEvery
effect 以在每個 action 來到時派生一個新的任務
允許多個 fetchData 實例同時啟動
異步操作 Effect
yield 聲明式的 Effect
一個 Saga
組合Effect定嗓,共同實現(xiàn)所控制流
call:
等待promise完成
參數(shù)應該是一個返回承諾的函數(shù)
fork:
開始另一個任務
參數(shù)可以是一個以 *function* 開頭的異步函數(shù)
put:
調(diào)度一個動作
take:
等待一個動作
一個事件發(fā)生
并將一個字符串作為參數(shù)
該字符串不是動作的函數(shù)
而是一個action.type
select:
從狀態(tài)中選擇數(shù)據(jù),取一個以狀態(tài)為參數(shù)的函數(shù)