dva数据流effects获取返回值的几种方式
发布日期:2021-07-25 11:32:15
浏览次数:2
分类:技术文章
本文共 1200 字,大约阅读时间需要 4 分钟。
1、传递callback回调
// modelseffects: { *add({ payload, callBack }, { call, put, select }) { // eslint-disable-line const response = yield request('/apis/serverless/add', { method: 'GET', data: payload, }); const num = yield select(state => state.num + 1); if (response && response.success) { callBack(response.data) } else { Message.error(response.msg); } }, }// 组件内 this.props.dispatch({ type:'preCenter/add', payload: params, callBack: result =>{ console.log(result); } })
2、使用promise传递
// modelseffects: { *addAfter1Second(action, { call, put }) { yield call(delay, 1000); const response = yield put({ type: 'add' }); resolve(response) }, },// 组件内new Promise((resolve) =>{ this.props.dispatch({ type: 'addAfter1Second', payload: params, })}).then(result => { console.log(result)})
3、使用dispatch的then方法
// models reduers: { add(state, { payload }){} }, effects: { *addAfter1Second(action, { call, put }) { yield call(delay, 1000); yield put({ type: 'add' }); }, }, // 组件内 this.props.dispatch({ type: 'addAfter1Second', payload: params, }).then(result => { console.log(result) })
转载地址:https://blog.csdn.net/qq_32615575/article/details/118089848 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
表示我来过!
[***.240.166.169]2024年03月24日 07时25分25秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Oracle篇--05 Oracle 视图、序列、约束
2019-04-26
【Java面试题四】sql面试题(1)
2019-04-26
【Java面试题五】sql面试题(2)
2019-04-26
【Java面试题六】多线程篇
2019-04-26
【Java面试题七】Java泛型篇
2019-04-26
【Java面试题八】Java算法优化篇
2019-04-26
JDBC与DAO篇--01 JDBC原理、JDBC基础编程
2019-04-26
【Java面试题九】算法篇
2019-04-26
Struts2+Hibernate4开发学生信息管理功能之---(一)环境搭建
2019-04-26
Struts2+Hibernate4开发学生信息管理功能--(三)用户登录模块
2019-04-26
Struts2+Hibernate4开发学生信息管理功能--(四)学生信息管理模块
2019-04-26
Git的使用--如何将本地项目上传到Github
2019-04-26
【Java面试题九】一套面试题
2019-04-26
【Java面试题十】一套完整的java面试题
2019-04-26
JDBC与DAO篇--03 JDBC高级编程、DAO
2019-04-26
WEB_BASIC---08 jQuery事件处理、jQuery动画
2019-04-26
SERVLET JSP篇-02 HTTP协议、Servlet原理
2019-04-26
SERVLET JSP篇-03 Servlet特性
2019-04-26