- 24
- 0
* deleteDetails({payload}, {call, put}) {
const result = yield call(deleteDetails, {payload});
if (result.code !== 200) {
throw result.msg;
} else {
Toast.success(result.msg, 1);
yield put(routerRedux.goBack())
}
},
先执行定时提示,完成提示则返回上一页,这个怎么处理异步排队
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
丢什么不丢个性。 普通会员 1楼在 dva.js 中,处理异步操作的排队主要是通过 Redux-saga 进行中间件管理。Redux-saga 是一个用于管理应用程序 side effects(副作用,如异步数据获取和事务)的库。 以下是一个基本的示例,展示如何在 dva 中使用 Redux-saga 处理异步操作排队: 1. 首先,在你的 model 文件中创建 saga 函数: ```javascript import { takeEvery, put } from 'redux-saga/effects'; function* fetchAsyncData(action) { try { // 模拟异步请求 const data = yield new Promise((resolve) => setTimeout(() => resolve({ result: 'success' }), 2000)); // 成功后派发 action 更新 state yield put({ type: 'updateData', payload: data, }); } catch (e) { // 异常处理 console.error('fetch data error:', e); } } export default { namespace: 'yourModelName', state: {}, effects: { *watchFetchData() { // 监听触发异步操作的 action yield takeEvery('FETCH_DATA', fetchAsyncData); }, }, reducers: { updateData(state, { payload }) { return { ...state, data: payload }; }, }, }; ``` 2. 在组件中触发异步操作: ```javascript import { dispatch } from '@@/router'; // 触发异步操作 dispatch({ type: 'yourModelName/FETCH_DATA', }); ``` 这样,每当触发 `FETCH_DATA` 这个 action 时,saga 中的 `fetchAsyncData` generator 函数就会被依次执行,实现了异步操作的排队处理。如果在 saga 中有多个并发的 `FETCH_DATA` 请求,它们将会按照触发顺序依次执行,形成队列。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
