工作,我有一個終極版,傳奇如下:終極版,傳奇不會在第一時間
export function* loadApplianceSaga() {
try {
let {request, success, error} = yield take(ActionTypes.APPLIANCE.LOAD);
request.url = yield select(getResourceLink, request.resource);
const response = yield call(makeRequest, request);
if (!response.error) {
yield put({type: success, payload: response.body});
} else {
yield put({type: error, payload: response});
}
} catch (e) {
yield put({type: ActionTypes.REQUEST.CALL_ERROR, error: e});
}
}
export function* watchLoadAppliance() {
while (true) {
yield* takeEvery(ActionTypes.APPLIANCE.LOAD, loadApplianceSaga);
}
}
和根的傳奇:
export default function* rootSaga() {
yield [
fork(watchLoadAppliance)
]
}
我現在面臨一個問題,即沒有按loadApplianceSaga
第一次工作。我登錄並看到第一次只發送了ActionTypes.APPLIANCE.LOAD
操作,然後沒有任何操作被調度。但在第二次,我可以看到成功或失敗的行動。
誰能告訴我什麼是錯的?提前致謝!
更新動作:
export const loadAppliances =() => {
return {
type: ActionTypes.APPLIANCE.LOAD,
request: {
resource: Resources.Appliances,
param: {
page: 0,
size: 5,
sort: 'name,desc'
},
header: {
Accept: 'application/json'
}
},
success: ActionTypes.APPLIANCE.LOAD_SUCCESS,
error: ActionTypes.APPLIANCE.LOAD_ERROR
}
};
該操作是否包含{request,success,error}? –
是的,行動包括所有這些。 –
我已添加操作。 @Utro –