MRa*_*mon 5 javascript setstate async-await reactjs
我的函数看起来像这样:
this.setState(prevState => ({
time : prevState.time + 1
}), function() {
doSomethingWithNewState(this.state.time)
})
Run Code Online (Sandbox Code Playgroud)
在这种情况下使用等待是否正确?像这样:
await this.setState(prevState => ({
time : prevState.time + 1
}));
doSomethingWithNewState(this.state.time);
Run Code Online (Sandbox Code Playgroud)
Ana*_*nas 10
没有this.setState不返回的承诺.
所以你不能在这种情况下使用await.您需要使用回调.
this.setState由于已经说明的原因,您不能等待。但是您可以轻松编写自己的可等待 setState 函数:
promisedSetState = (newState) => new Promise(resolve => this.setState(newState, resolve));
Run Code Online (Sandbox Code Playgroud)
现在你可以打电话
await pwomisedSetState({ someState: true });
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3560 次 |
| 最近记录: |