0
我有這個deleteSkill處理程序。在這個處理程序中,我打電話給一些API來刪除技能。 (yield call(utils.deleteSkill))。它成功調用了API,但之後沒有任何執行。 yield調用後的控制檯語句不會輸出任何內容。我無法弄清楚任何事情。 任何人都可以幫助我嗎?Redux傳奇在收益調用後不執行
import { takeLatest, delay, takeEvery } from 'redux-saga'
import { call, fork, put, race, take } from 'redux-saga/effects'
import * as ActionTypes from './../constants/actions'
/* Handlers */
function* fetchSkills(action) {
try {
const { data } = yield call(utils.fetchSkills, action)
yield put({type: ActionTypes.SUCCESS_FETCH_SKILLS, data})
} catch (e) {
}
}
function* deleteSkill(action) {
try {
yield call(utils.deleteSkill, action.data) //doesn't execute after this
console.log('Hello') //won't execute
yield put({type: ActionTypes.REQUEST_FETCH_SKILLS})
} catch (e) {}
}
/* Watchers */
function* watchFetchSkills() {
while (true) {
yield* takeLatest(ActionTypes.REQUEST_FETCH_SKILLS, fetchSkills)
}
}
function* watchDeleteSkill() {
while (true) {
yield* takeLatest(ActionTypes.REQUEST_DELETE_SKILL, deleteSkill)
}
}
export default function* rootSaga() {
yield [
fork(watchFetchSkills),
fork(watchDeleteSkill),
]
}
看到'utils.deleteSkill'功能 – VonD
這將是有益'導出功能deleteSkill(數據){ 回報DELETE({ API: '$ {expertsAPI.skills} $ {}的數據/', 的HandleError: true }) .then(json => json) }' – madhurgarg
您的控制檯是否輸出警告,如'deleteSkill was cancelled'? – VonD