dva中effects的call使用

新手上路,请多包涵

对call的使用,官网上说用于调用异步逻辑,支持promise。但是不使用call,也可以直接调用异步逻辑。例如下面两种方式结果相同,所以还没搞明白call的使用场景,

// 方式1
let res = yield request('/api');
if (res.success) {
    yield put({
        type: 'setData',
        payload: {
            data: res.data
        }
    })
}

// 方式2
let res = yield call(request, '/api');
if (res.success) {
    yield put({
        type: 'setData',
        payload: {
            data: res.data
        }
    })
}
阅读 5.3k
1 个回答
新手上路,请多包涵
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题