dva框架的model之异步请求dispatch如何callback

原因:function2的value2需要function1的response.value1,即function1的请求返要回作为function2请求参数。因为是异步的,所以要把function2的触发放入function1的回调中。

// model中的subscriptions或者effect
dispatch({
	type: 'function1',
	callback: (_response) => {
		if(_response.success){
			dispatch({ type: 'function2', payload: {value2: _response.value1 } })
})
// model中的effect
function1({ callback },{ call }) {
	const _response = yield call(callService, reqParam);
	if(callback && typeof callback == "function") {
		callback(_response);
	}
}
// model中的effect
function2({ payload },{ call }) {
	_payload.value2 = payload.value2
	yield call(callService, _payload);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值