Min*_*oon 8 promise reactjs redux redux-saga
我在这里找到了同样的问题,但我没有找到合适的答案.
我正在使用CRUD操作开发一个简单的应用程序.在编辑页面上,在组件被挂载(componentDidMount()
)之后,应用程序将调度操作以检索特定的帖子详细信息:
dispatch({ type: FETCH_POST, id: 'post-id' })
Run Code Online (Sandbox Code Playgroud)
我正在使用redux-saga并希望上面的调用返回一个Promise,以便我可以访问API响应.
现在,没有回调/承诺,我最终在商店中定义了一个新状态(比如post_edited
)并将其连接/映射到组件中的道具以进行编辑页面.
处理这种情况的最佳方法是什么?
juk*_*ben 14
您能否提供有关您的问题的更多信息?我不确定我是否理解你的问题,但通常的做法是:
API.js
function apiCallToFetchPost(id) {
return Promise.resolve({name: 'Test});
}
Run Code Online (Sandbox Code Playgroud)
postSaga.js
function* fetchPostSaga({id}) {
try {
const request = yield call(apiCallToFetchPost, id);
// -> in post reducer we will save the fetched data for showing them later
yield put({type: FETCH_POST_SUCCESS, payload: request});
} catch (error) {
yield put({type: FETCH_POST_SUCCESS_FAILURE, error})
}
}
export function* onBootstrap() {
yield takeLatest(FETCH_POST, fetchPostSaga);
}
Run Code Online (Sandbox Code Playgroud)