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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:JavaScript 字符串id生成器
下一篇:sequelize递归查询获取树状结构

发表评论

最新留言

表示我来过!
[***.240.166.169]2024年03月24日 07时25分25秒