:
//有用;当下一个动作到来时,最后一个动作将被取消;
getsome: [function*({ payload }, { call, put, select, all }){
yield call request1;
yield call request2;
}, { type: 'takeLatest'}],
//但如果使用全部收益,则不会取消最后一个操作
getsome: [function*({ payload }, { call, put, select, all }){
yield all([call(request1), call(request2)]);
}, { type: 'takeLatest'}],
答案 0 :(得分:1)
简单地说,你不能这样做,
yield all
,将同时启动所有通话,但不会一个接一个地启动。
因此,如果您想要取消某些请求,您需要单独执行,或者生成一组yield,并逐个启动它们。