最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
redux-saga 回调中执行 put的例子
时间:2016-06-16 编辑:简简单单 来源:一聚教程网
在 redux-saga 下,
代码如下 | 复制代码 |
postWithLoadingEffect(API.user, user).then( (response) => { console.log(response) // yield put(userActions.setCurrentUser(response.data)) } ).catch( (error) => { console.error(error) } ) |
yield put 放在回调中是不会执行的,因为回调函数并不是 generator 函数。
但这种需求在实际代码里会经常出现。我们可以绕个圈子实现它:
代码如下 | 复制代码 |
try { let response = yield call(postWithLoadingEffect, API.user, user) if (response) { console.log(response) window.localStorage.setItem('authToken', response.meta.jwt) yield put(userActions.setCurrentUser(response.data)) } } catch (error) { console.error(error) } |
call 是 redux-saga 提供的一个 effect,它会执行传递给它的函数。这样我们就取得了结果,可以正常使用 yield put。
但很多时候,我觉得在 saga 中直接使用 dispatch 会更方便,只是这样 redux-saga 的好处便又丢了 – 不如回去写 redux-thunk。
-
上一个: js根据身份证号获取性别或者年龄
-
下一个: wordpress 文章首页置顶实现例子
相关文章
- HTML简单购物数量小程序代码展示 10-31
- html canvas实现弹幕功能 10-31
- HTML中空格表示的意义 10-31
- html area标签解读 10-31
- html使用表单标签实现注册页面代码展示 10-31
- 使用HTML截图并保存为本地图片的代码展示 10-31