对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
}
})
}
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…