gke*_*ley 6 saga reactjs react-native redux redux-saga
我正在使用 Redux Saga 模板,它使用包含yield call()
. 基本上它看起来像这样:
function *a(){
yield call(<some function>);
}
yield takeLatest(SOME_ACTION, a)
Run Code Online (Sandbox Code Playgroud)
我的问题如下:
1)我是否正确使用的原因
function *a(){
yield call(<some function>());
}
Run Code Online (Sandbox Code Playgroud)
代替
function a(){
<some function>()
}
Run Code Online (Sandbox Code Playgroud)
是第一个,生成器函数将等到yield call
行返回后再继续,而在第二个中, () 将被异步调用?
2) 如果我对 (1) ^^ 是正确的,那么调用some_function
insidea
似乎与以下内容相同:
async a() {
await some_function();
}
Run Code Online (Sandbox Code Playgroud)
这样对吗?
3) 如果我对 (2) ^^ 是正确的,那么使用生成器函数而不是 async/await 的唯一原因似乎是可以从yield takeLatest
等调用生成器函数。这是正确的吗?还是背后另有隐情?
谢谢!
归档时间: |
|
查看次数: |
2802 次 |
最近记录: |